python --爬虫爬取学校官网新闻并下载到本地
IDE:jupyter Notebook
python version:python 3.6
目标数据:学校官网新闻(一页)
网址:*
使用到的库:requests urllib re BeautifulSoup os parse
( 我使用的是Anaconda3,所以一般常用的库都不需要额外来安装 )
( 如需安装:pip install <库名> )
思路:
1,获取目标网站源代码
2,从源代码中获取新闻超链接
3,通过新闻超链接获取内文
4,保存到本地*
开工:
import requests
import urllib
import re
import os
from bs4 import BeautifulSoup
from urllib import parse
#1.获取网站源代码
respones = requests.get('http://**********/')
respones.encoding = 'utf-8'
html = respones.text
#获取网页源代码
#print(html)
#使用BeautifulSoup 解析网页
soup = BeautifulSoup(html,'html.parser')#2.获取文章超链接
#req 定义匹配规则
req = r'<li class="line">.*?<a href="(.*?)" target="_blank" title="(.*?)">.*?<span>.*?</span>.*?<font>(.*?)</font>.*?</a>.*?</li>'
#提升匹配效率
req = re.compile(req,re.S)
#findall 匹配模式
result = re.findall(req,html)
#使用for 循环分离新闻超链接和新闻标题
for url in result:
res = (url)#不带主域名的url的连接##
url = parse.urljoin(response.url,res[0])#新闻标题
title = res[1]
#print(url,title)
# 3获取新闻内容# 获取新闻内容源代码
chapt_html = requests.get(url)
chapt_html.encoding = 'uft-8'
html1 = chapt_html.text
soup1 = BeautifulSoup(html1,'html.parser')
#print(html1)
#获取文章内文
content1 = soup1.select('#textbody')
content = content1[0].text
#print(content)#4 保存到本地#用标题显示下载进程
print("正在下载:%s"%title)#下载新闻
#编码问题:定义目标文件的编码,使编码保持一致
f = open('{}.txt'.format(title),'w',encoding = 'utf-8')
f.write(content)
f.close()
遇到的问题:
1.抓取新闻超链接时,得到的是不带主域名的url
解决方法:
1.导入urllib的parse2.调用parse.urljoin()进行拼接from urllib import parseurl = parse.urljoin(response.url, get_url)
#其中response.url会自动提取出当前页面url的主域名,get_url是从response中的元素中提取的没有主域名的url
原文链接:
爬虫——response中获取的不带主域名的url的拼接
2.保存到本地时出现的乱码问题
解决办法:
2.统一文件的编码
原文链接:
编码问题(原标题太长…)
python --爬虫爬取学校官网新闻并下载到本地相关推荐
- Python 数据采集-爬取学校官网新闻标题与链接(基础)
Python 爬虫爬取学校官网新闻标题与链接 一.前言 二.扩展库简要介绍 01 urllib 库 (1)urllib.request.urlopen() 02 BeautifulSoup 库 (1) ...
- Python 数据采集-爬取学校官网新闻标题与链接(进阶)
Python 爬虫爬取学校官网新闻标题与链接(进阶) 前言 一.拼接路径 二.存储 三.读取翻页数据 四.完整代码展示 五.小结 前言 ⭐ 本文基于学校的课程内容进行总结,所爬取的数据均为学习使用,请 ...
- (6)Python爬虫——爬取中新网新闻
工欲善其事,必先利其器.我们要进行数据挖掘,就必须先获取数据,获取数据的方法有很多种,其中一种就是爬虫.下面我们利用Python2.7,写一个爬虫,专门爬取中新网http://www.chinanew ...
- 爬取学校官网信息公告并存入数据库
前段时间做了爬取学校信息并展示的小软件,爬取内容包括学校官网.教学管理系统.招生就业信息等,其中用到了QueryList库.翻页爬虫,定时爬虫,插入数据库等 不熟系QueryList的可以看一下我的这 ...
- python爬虫爬取彼岸图网图片
python爬虫爬取彼岸图网图片 话不多说,直接上代码! import requests from PIL import Image from io import BytesIO import re ...
- python爬虫图片实例-Python爬虫爬取煎蛋网图片代码实例
这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...
- Python爬虫爬取煎蛋网图片代码实例
这篇文章主要介绍了Python爬虫爬取煎蛋网图片代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 今天,试着爬取了煎蛋网的图片. 用到的包: ...
- 定时爬取学校官网讲座公告并邮件发给自己
文章目录 前言 流程 各部分说明 获取网页-Request库 从HTML中提取数据-BeautifulSoup库 BeautifulSoup-转换成`BeautifulSoup` 的对象 find() ...
- python 爬虫爬取煎蛋网妹子图,我1T的硬盘装满了!
前言 大家好,这里是「brucepk」爬虫 系列教程.此系列教程以实例项目为材料进行分析,从项目中学习 python 爬虫,跟着我一起学习,每天进步一点点. 煎蛋网站 image 很多朋友都反应学 p ...
最新文章
- 编程入门到进大厂,你需要这套学习架构
- c++标准程序库异常
- WPF之Binding(转)
- jquery一些基本函数
- 小团队前端部署演化之路
- 【dfs】I Like Matrix!
- 如何自定义容器网络?- 每天5分钟玩转 Docker 容器技术(33)
- 2.ubuntu 配置目录
- springboot的war部署到tomcat正常启动,访问404问题
- Linux安装gcc和运行代码教程
- 魔兽单机80mysql创建账号_本站魔兽世界单机版如何注册账号及局域网架设 | 游戏海湾...
- TOP100summit:【分享实录-猫眼电影】业务纵横捭阖背后的技术拆分与融合
- 二月二龙抬头【集锦】
- 2021阿里巴巴国际站产品关键词来源(一)
- 第50届IMO预选题
- 01 为什么要学习计算机组成原理?
- HashMap源码解析JDK1.8 —————— 开开开山怪
- 5.文献研读---基于教育数据挖掘的在线学习者 学业成绩预测建模研究--陈子健 朱晓亮...
- 解决使用高分辨率笔记本分辨率放大100%以上运行程序界面控件不跟随方大方式qt+gtk+ui
- vue IconPark 图标 的使用
热门文章
- SyntaxError: Unexpected token T in JSON at position 0 的解决
- 计算机和商务英语联系,商务英语和外贸英语的区别是什么?
- 【云云怪】第2个项目:快速算卦小屋
- 实战毕业论文排版技巧之参考文献尾注
- 一行代码搞定信用评分模型(python)
- 图解 赫夫曼编码?(赫夫曼大叔开讲啦!!!)
- 第八章 管理支付和订单
- #include使用“文件名“和<文件名>引入头文件的区别及简述
- HTML高德地图标点
- vscode配置git