/前言/前几天分享了如何使用Scrapy中的XPath选择器从网页中采集目标数据pages——详细教程(上篇),还没来得及上车的小伙伴们可以戳进去看看,今天继续上篇的内容。/具体实施/9.根据收集点赞数的方法,我们可以快速定位到点赞数。对应的网页结构略有不同,但分析方法是一样的,这里不再赘述,如下图。10、这里直接给出调试代码,如下图。11.但是我们需要的是里面的数字。这时候我们可以使用正则表达式来匹配。关于正则表达式的文章之前已经连载了。不熟悉正则表达式的朋友可以阅读历史文章了解详情。插图。在Pycharm中调试,代码也很简单,如下图所示。然后把这段代码放到爬虫主文件中,记得把“15Collection”部分换成collection_num。12.评论数比较简单,有专门的标签,如下图。13.需要注意的是,这里的评论数的标签不是一个类,而是一个href,需要对应网页,否则获取的值为空列表。14.和集合数一样,还是需要用正则表达式的形式来匹配数字。可以直接复制收藏数的代码,然后把collection_num的collection_num改成评论数的comment_num。15.关于文本的提取,不同的网页结构不同,比较复杂。我不会在这里详细介绍。总体目标是提取网页的内容和标签。分析网页结构,发现文字内容在“entry”标签下,如下图所示。\16。在scrapyshell中调试后,可以得到内容的XPath表达式,如下图所示。17、至此,网页中的信息就提取的差不多了。结合上面的分析和XPath表达式,我们得到的整体代码如下图所示。18、然后调试查看代码中得到的内容,如下图所示,非常清晰。19、下图是console部分显示的变量结果,与代码中显示的内容和网页上的信息一致。至此,XPath表达式的具体应用教程就告一段落了。一般我们需要使用F12快捷键查看网页元素,然后分析网页结构并进行交互,然后根据网页结构编写XPath表达式,习惯性结合scrapyshell进行调试,得到优化后的表达式,并写入爬虫文件,最后执行爬虫程序或者Debug查看最终的数据采集结果。/总结/本文基于XPath的理论基础,主要介绍利用Scrapy爬虫框架中的XPath选择器提取网页中目标数据,结合scrapyshell进行调试,得到优化后的表达式的方法,并将其写入爬虫文件。希望对大家的学习有所帮助。如果想深入了解Python,可以参考学习网站:http://pdcfighting.com/,点击阅读原文,可直接前往~
