小白零基础也会的爬虫,就是有个反爬!手把手教…
2018-07-28 06:20:40来源:博客园 阅读 ()
---恢复内容开始---
需要爬取的新闻网站为http://www.shxz.gov.cn/sites/CSMHXZMH/ViewList2_pg.ashx?ctgId=fe188544-e1fe-4230-b754-40e8d70ae432&leftBarId=08f6f7e1-badb-49fd-8da9-009f8dcc14a0
分析
思路很简单:
分析网站-->找出每一页的网址规律-->分析每一页包含的新闻链接-->循环批量下载
看起来是不是很简单呀,现在我开始分析每一页网址的页数规律
进群:125240963 即可获取数十套PDF哦!
这是点击跳转的链接
跳转之后的网址为
http://www.shxz.gov.cn/sites/CSMHXZMH/ViewCon2_pg.ashx?ctgId=fe188544-e1fe-4230-b754-40e8d70ae432&infId=ce846a98-ed2c-4181-861d-3b6c000b9ba9&leftBarId=08f6f7e1-badb-49fd-8da9-009f8dcc14a0
只需要找出每个页面的12个ViewCon2_pg.ash········这段代码,然后在前面加上http://www.shxz.gov.cn/sites/CSMHXZMH/ 就是每个新闻的网址,所以我只需要筛选出每页的12个这段代码即可
观察源代码,选择正则表达式进行筛选
现在一切正常,然后我打开爬取到的文件发现没有内容,我检查代码是没问题的,然后我去检查其中的一个新闻页面源代码,发现数据是经过JavaScript处理的,还真是有反爬的呀。很无奈,再次分析吧
按F12,然后再按F5刷新页面,查看Network
Content.ashx?infId=908d112a-2520-4c1b-a7f8-9032fed…32&leftBarId=08f6f7e1-badb-49fd-8da9-009f8dcc14a0
点击到这一行时,点击Preview发现就是我们需要的文章内容,然后右键这一行,Copy-->Copy link address,分析这个真实的网址,然后可以打开多几个不同页数的网址进行分析
JavaScript加载的网址
http://www.shxz.gov.cn/sites/Iframe_ZZTY_cxs/dyn/Content.ashx?infId=908d112a-2520-4c1b-a7f8-9032fedbfe5c&ctgId=fe188544-e1fe-4230-b754-40e8d70ae432&leftBarId=08f6f7e1-badb-49fd-8da9-009f8dcc14a0
原页面的网址
http://www.shxz.gov.cn/sites/CSMHXZMH/ViewCon2_pg.ashx?ctgId=fe188544-e1fe-4230-b754-40e8d70ae432&infId=908d112a-2520-4c1b-a7f8-9032fedbfe5c&leftBarId=08f6f7e1-badb-49fd-8da9-009f8dcc14a0
这是第一次处理之后的有效代码
ViewCon2_pg.ashx?ctgId=fe188544-e1fe-4230-b754-40e8d70ae432&infId=908d112a-2520-4c1b-a7f8-9032fedbfe5c&leftBarId=08f6f7e1-badb-49fd-8da9-009f8dcc14a0
然后观察最后的真实网址和原来的对比,发现有效部分是
infId=908d112a-2520-4c1b-a7f8-9032fedbfe5c
这个可以决定每个新闻的链接,其他部分是不变的
realurl= "http://www.shxz.gov.cn/sites/Iframe_ZZTY_cxs/dyn/Content.ashx?"+str(allurl[j])+"&ctgId=fe188544-e1fe-4230-b754-40e8d70ae432&leftBarId=08f6f7e1-badb-49fd-8da9-009f8dcc14a0"
所以一开始筛选出这部分决定行的代码即可,然后我发现这个正则有点难写,所以我直接用for循环遍历去重
最终代码如下
然后我打开每个爬取到的本地文件,发现正常了,这个网站还有点反爬,需要设置伪装。要是需要爬取图片,也可以分开爬取保存即可。
速度方面我测试了爬取速度,感觉还是可以的。
欢迎大家尝试一下,然后让代码更加完善,代码我已经放到我的github上
https://github.com/BitCute/netCafe/blob/master/Python%20Robots/news_shxz_gov.p
---恢复内容结束---
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_0基础开始_day07 2019-08-13
- 【Python】语法基础 | 开始使用Python 2019-08-13
- Python基础总结之初步认识---class类的继承(终)。第十六天 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash