前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途
如今各大网站的反爬机制已经可以说是到了丧心病狂的程度,比如大众点评的字符加密、微博的登录验证等。相比较而言,新闻网站的反爬机制就要稍微弱一点。因此今天以新浪新闻为例,分析如何通过Python爬虫按关键词抓取相关的新闻。
首先,如果从新闻直接进行搜索,你会发现其内容最多显示20页,因此我们要从新浪的首页进行搜索,这样才没有页数的限制。
网页结构分析
<div class="pagebox" id="_function_code_page">
<b><span class="pagebox_cur_page">1</span></b>
<a href="javascript:;" onclick="getNewsData('https://interface.sina.cn/homepage/search.d.json?t=&q=%E6%97%85%E6%B8%B8&pf=0&ps=0&page=2')" title="第2页">2</a>
<a href="javascript:;" onclick="getNewsData('https://interface.sina.cn/homepage/search.d.json?t=&q=%E6%97%85%E6%B8%B8&pf=0&ps=0&page=3')" title="第3页">3</a>
<a href="javascript:;" onclick="getNewsData('https://interface.sina.cn/homepage/search.d.json?t=&q=%E6%97%85%E6%B8%B8&pf=0&ps=0&page=4')" title="第4页">4</a>
<a href="javascript:;" onclick="getNewsData('https://interface.sina.cn/homepage/search.d.json?t=&q=%E6%97%85%E6%B8%B8&pf=0&ps=0&page=5')" title="第5页">5</a>
<a href="javascript:;" onclick="getNewsData('https://interface.sina.cn/