网页新闻抓取( 爬取一个新闻网站为分析思路很简单(图))
优采云 发布时间: 2021-10-15 04:02网页新闻抓取(
爬取一个新闻网站为分析思路很简单(图))
Python爬取新闻网站并破解反爬取
一开始我觉得爬一个新闻网站很容易,因为一般的新闻网站比较容易爬。
但是,当我开始分析和编写代码时,运行它之后,我发现它并没有那么简单。
需要爬取的消息网站是
分析
这个想法很简单:
分析网站-->找出每个页面的URL规则-->分析每个页面收录的新闻链接-->回收批量下载
看起来是不是很简单?现在我开始分析每个URL的页数
我分开开的
链接到第一页
链接到第二页
链接到第三页
可以通过观察发现
page=后面的数字是页码,然后我把页码改成其他数字打开用原来的页面跳转到其他页面看同样的内容,所以现在找到每个页面的URL模式,然后然后通过for循环。你可以继续爬
for i in range(1,3):
url="http://www.shxz.gov.cn/sites/CSMHXZMH/ViewList2_pg.ashx?page="+str(i)+"&ctgId=fe188544-e1fe-4230-b754-40e8d70ae432&leftBarId=08f6f7e1-badb-49fd-8da9-009f8dcc14a0"
然后分析每个页面的URL,右击查看,然后直接复制一个新闻标题,在页面源码上按Ctr+F就可以找到第一条新闻的标题。下面有一段代码。我点进去发现直接跳到了第一个新闻界面,然后我试着查了一下这样的网址有多少,发现有17个,但是每页不重复的新闻是12个,剩下的5个旁边是推荐内容。
ViewCon2_pg.ashx?ctgId=fe188544-e1fe-4230-b754-40e8d70ae432&infId=7f2c956f-75b0-4a59-808b-fa72b3307db0&leftBarId=08f40df8df9da-f40df9dad
跳转后的网址是
只需要找出每个页面的12个ViewCon2_pg.ash······这个代码,然后在前面加上每个新闻的URL,所以我只需要过滤掉每个页面的12段代码
观察源码,选择正则表达式过滤
<p>pat='