今日头条图集爬取(第一节)

打开今日头日官网,在右侧搜索栏输入‘bilibili’,在搜索页选择图集选项,得到以下页面:

image.png

从这个页面中,我们可以看到有很多图集,我们选择一个图集,进入具体页面:
image.png

这个页面就是图片的页面了,可以通过点击图片的右边部分,切换到下一张图片。
我们的任务就是抓取这些大图(搜索页面上的图集都要抓取),存储到本地中。

那么,我们回到搜索页面,点开两个不同的图集,观察他们url连接的区别:
image.png

image.png

我们看到两个图集连接前面都是www.toutiao.com,只有后面不同,是一串数字,看起来像是id。那么到哪里获取这条URL呢,肯定要从初始页面中去找。我们再回到搜索页面,查看网页源代码。按下ctrl+f搜索这串id数字,然而并没有结果。因为这个页面是使用ajex和JavaScript异步加载的。
我们按下F12打开chrome的调试界面,选择network选项,再选择XHR选项。如果你之前没有滑到页面底部的话,应该是一片空白。现在滑到页面底部,使之加载出下一页内容。这是XHR栏中会出现新的内容,如下:
image.png

点击name下的两条链接。在右边的RequestURL中可以看到完整的链接,比较两条链接,可以发现只有offset=后面的数字不同。offset:偏移量。所以,可以猜测这个参数起着标志当前页面页数的作用。然后我们复制这条url。输入到浏览器的地址栏中。
image.png

可以看到我们搜到了ID号,现在有两种方法获取这个id号,第一种是使用json库解析成python字典,然后直接获取id值。第二种使用正则表达式获取。这里我们选择第一种。获取id号后,我们就可以得到不同图集的具体页面了。
暂停一下。我们先重新理一下上面的过程。
首先我们确定了要抓取的网页:今日头条的bilibili图集。
先手动操作一遍,直到我们要抓取的目标为止,了解一下流程。再把这个流程写成计算机的执行流程:
获取搜索页面内容>>获取图集地址>>获取具体图片的地址>>把图片写入硬盘中
第一部分就先到这里。接下来就是编写代码实现这个流程了

你可能感兴趣的:(今日头条图集爬取(第一节))