Selector提取数据2:CSS选择器
发布日期:2021-07-01 05:19:50 浏览次数:2 分类:技术文章

本文共 1611 字,大约阅读时间需要 5 分钟。

CSS选择器

CSS即层叠样式表,其选择器是一种用来确定HTML文档中某部分位置的语法。

CSS选择器的语法比XPath简单一点,但功能不如XPath强大。实际上,当我们调用Selector的CSS方式时,在其内部会使用Python库cssselect将CSS选择器表达式翻译成XPath表达式,然后调用Selector对象的XPath方法。

略去基本语法,直接利用scrapy提供的shell调试工具,以http://blog.jobbole.com/114638/ 这个页面为例:

(Py3_spider) D:\SpiderProject\spider_pjt1>scrapy shell http://blog.jobbole.com/114638/...>>>>>>> response.css('.entry-header h1')[
]>>> response.css('.entry-header h1').extract()['

能从远程获得乐趣的 Linux 命令

']>>> response.css('.entry-header h1::text').extract()['能从远程获得乐趣的 Linux 命令']>>> response.css('.entry-header h1::text').extract()[0]'能从远程获得乐趣的 Linux 命令'>>>
提取发布日期:

正则表达式的使用

>>> response.css('p.entry-meta-hide-on-mobile::text').extract()[0]'\r\n\r\n            2019/01/13 ·  '>>> response.css('p.entry-meta-hide-on-mobile::text').re('\d{4}/\d{2}/\d{2}')[0]'2019/01/13'>>>
接着提取点赞数:
>>> response.css('[id="114638votetotal"]')[
]>>> response.css('[id="114638votetotal"]').extract()[0]'
1
'>>> response.css('[id="114638votetotal"]::text').extract()[0]'1'>>>...或者下面的>>> response.css('.vote-post-up h10::text').extract()[0]'1'>>>
提取收藏数:
>>> response.css('span[data-book-type]::text').extract()[0]' 1 收藏'>>> response.css('span[data-book-type]::text').re("\d+")[0]'1'>>>...或者下面的>>> response.css('span.bookmark-btn::text').re("\d+")[0]'1'>>>
提取评论数:
>>> response.css('a[href="#article-comment"] span::text').re("\d*")[0]''>>> response.css('a[href="#article-comment"] span::text').extract()[0]'  评论'>>>
提取正文内容
>>> response.css('div.entry').extract()[0]...内容过多,已省略结果>>>
提取文章所属类别
>>> response.css('.entry-meta a[rel]::text').extract()[0]'IT技术'>>>

转载地址:https://onefine.blog.csdn.net/article/details/86746835 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python安装MySQL驱动
下一篇:Selector提取数据1:XPath选择器

发表评论

最新留言

不错!
[***.144.177.141]2024年05月08日 21时13分23秒