Python爬虫实战02:分析Ajax请求并抓取今日头条街拍
1 目标网站分析 首先我们打开今日头条网站,搜索 街拍,点击图集,这里每就是我们要爬取的目录,我们称为索引页。1 点开一个标题,进去,称为详情页。2这里面的图是我们所要爬取的。比如这里可以点击图片,共7张图。2 这里我们可以想到,可以先把详情页的每个标题URL爬取下来,再请求详情页得到每个图集。 分析详情页代码,打开谷歌浏览器开发工具,选择Network,刷新网页。发现第一个请求中返回的不含图片的任何信息。 想到头条应该是Ajax请求,选择XHR,继续刷新,点击图集。发现我们点击图集发出的请求返回的代码中 data 中含有我们想要的图片信息,是Json格式。可以看到title信息,刚好符合。 3 Headers,属于get请求,可以看到请求参数。 4 也可以看到我们请求索引页的网址。 然后滑动网页,发现左边又多了个请求,offset=20,由此得知索引页可通过改变offset来换页。6 继续看详情页,我们想找到每个图集的内容。同样打开network工具,刷新网页。选择XHR,发现每个请求中都不包含图集信息。选择ALL查看,我们可以看到对应网址的请求返回了一段代码。我们右击图片,新窗口查看,得到图片的地址后面的数字。到前面的代码中搜索,发现图片信息恰好在gallery: JSON.parse(” “)中,是Json格式。其中’sub_image’的值包含的就是我们想要获取的图集的信息