scrapy结合splash处理(ajax)分页抓取?
scrapy官方文档中的tutorial里面有一节讲的就是追踪链接,很简单,不用这么复杂
Scrapy Tutorial----------------------------------------------------分析区--------------------------------------------------------------之前手机没仔细看,现在把代码贴上.首先我们来分析一下网页源代码:
可以看到下一页的链接在源代码中,而且页面也很规律,只是最后页码变化,这个可以直接用正则表达式提取,或者时BeautifulSoup都可以,这也就回答了楼主如何找标签的问题,其实只要链接在源代码都可以提取出来.推荐的方法是列表解析式,写起来比较爽.其次我们注意到 href 这个属性中有js 的内容,这个其实是后面网页添加的,在下图的源代码中可以看到并没有这些内容,所以提取的时候不需要考虑.
总结一下,其实我们遇到js的内容时:首先看看是否在源代码中有信息,这个就比较简单其次,我们可以去Network监视器中点击便签,监视其中的动态,下图就是监视器截图
每当我们点击下一页,就会有一个文件产生,点击可以看到他的Request URL,这个也可以发现规律,然后我们点击Response,就是Response源代码,如下图
【scrapy结合splash处理(ajax)分页抓取?】
现在我们有了请求链接,接下来的事情就简单了,直接上代码----------------------------------------------------代码区-------------------------------------------------------------# -*- coding: utf-8 -*-import scrapyfrom zhihuwenti.items import ZhihuwentiItemclass ZhihuSpider(scrapy.Spider): name = "zhihu" start_urls = ( \u0026#39;http://www.mps.gov.cn/n2254314/n2254457/n2254466/index_3497341_1.html\u0026#39;, \u0026#39;http://www.mps.gov.cn/n2254314/n2254457/n2254466/index_3497341_2.html\u0026#39;, \u0026#39;http://www.mps.gov.cn/n2254314/n2254457/n2254466/index_3497341_3.html\u0026#39;, \u0026#39;http://www.mps.gov.cn/n2254314/n2254457/n2254466/index_3497341_4.html\u0026#39;, \u0026#39;http://www.mps.gov.cn/n2254314/n2254457/n2254466/index_3497341_5.html\u0026#39;, \u0026#39;http://www.mps.gov.cn/n2254314/n2254457/n2254466/index_3497341_6.html\u0026#39;, ) def parse(self, response): for each in response.css(\u0026#39;dd\u0026#39;): item = ZhihuwentiItem() item = response.urljoin(each.css(\u0026#39;a::attr(href)\u0026#39;).extract_first()) item = each.css(\u0026#39;span::text\u0026#39;).extract() item = each.css(\u0026#39;a::text\u0026#39;).extract() yield item链接很少,就懒得写函数了,直接复制修改的结果图
推荐阅读
- 贝聊是一个啥样的产品
- 专家:提升中国特色心脏病防治水平应中西医结合、内外科联合
- 小儿|优势互补!产康与小儿推拿的完美结合!
- 和VR结合得最好的手机是哪个品牌
- 功夫汽车|汽车和艺术的结合,会产生怎样的“钜浪”?广汽传祺告诉你答案
- 共享单车和共享汽车有结合点吗
- 趣头条|【爱车大征集】智能舒适的轿跑SUV,超强的动力结合更加的年轻化
- 医学在未来会和互联网紧密结合吗有哪些方向丁香园又会向哪些方向发展
- android应用的splash是“中国特色”还是有用的东西
- 云计算,物联网和工业4.0能否真正的结合,我们还有多远的路要走
