小白零基础也会的爬虫,就是有个反爬!手把手教你破解反爬!

小白零基础也会的爬虫,就是有个反爬!手把手教你破解反爬!,第1张

概述需要爬取的新闻网站为http://www.shxz.gov.cn/sites/CSMHXZMH/ViewList2_pg.ashx?ctgId=fe188544-e1fe-4230-b754-40e8d70ae432&leftBarId=08f6f7e1-badb-49fd-8da9-009f8dcc14a0

需要爬取的新闻网站为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.py

总结

以上是内存溢出为你收集整理的小白零基础也会的爬虫,就是有个反爬!手把手教你破解反爬!全部内容,希望文章能够帮你解决小白零基础也会的爬虫,就是有个反爬!手把手教你破解反爬!所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1208881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存