scrapy获取到response对象后,需要对response对象进行解析,才能取到后续数据。本文中,苏南大叔将对scrapy解析数据的几种方式,进行总结说明。这其中包括官方推荐的.css.xpath方式,当然还包括有广大web程序员早已熟悉的类似jquery的处理方式。无论你熟悉那种写法,本文中总有一款适合你。

response.css方式

通过.css方式获取对象,相信大家都不陌生。但其中涉及的伪类的概念,可就不是那么常见了。

response.css('title')
response.css('title::text').extract()
response.css('title').extract()
response.css('title::text').extract_first()
response.css('title::text')[0].extract()

这里的title就指的是页面里面的<title></title>,也就是标签名了。设计到的伪类::text就指的是闭合HTML标签里面文字内容了。

pagination = response.css(".pagination")[0]
next_page = pagination.css("li.prev-page a::attr('href')").extract_first()

[0].extract()extract_first()基本上是等同的。而相关dom元素有且只有一个的时候,这个语句就又相当于extract()

总结

scrapy获取到你想要的页面数据后,就可以持久化到数据库中了。那么scrapy如何操作数据库呢?请查看苏南大叔的后续文章。

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接作者。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

 【加群】加入QQ群【175454274】和大家一起讨论这个问题

 【源码】本文代码片段及相关软件,请点此获取

 【绝密】秘籍文章入口,仅传授于有缘之人   python    scrapy

本站的忠实读者小伙伴,正在阅读下面这些文章: