文本提取
爬虫程序中,一个非常重要的步骤就是从源代码中提取所需要的文本数据,提取的方法是非常多样的,比如说可以使用python内置的字符串函数,或者是使用正则表达式。如果是结构化的数据的话,可能还会用到json等
当然,一般来说,像html这种格式的数据,使用通用的文本提取方式比较麻烦,效率不高。而通过xml的解析器的方式,直接提取数据,是较为容易的,常用的解析器有lxml以及beautifulsoup4
关于lxml和bs4的优缺点,在往期的文章中我们也有过对比,简单概括的话,我们可以这样认为:一般来说,lxml更擅长于使用xpath的解析器,而bs4更擅长于使用css的解析器。当然,你会用任何一种都是可以的,并非要两种都学会,只是如果你更喜欢用xpath的话,可以考虑lxml,如果更喜欢css的话,可以考虑使用bs4
这时候就有人有疑问了,“小孩子才做选择题,我全都要!为什么我不可以同时使用xpath和css呢?比如说我使用scrapy中的Selector不是更好吗?“
确实如此,比如说之前我在这篇文章中对比了bs4和scrapy的Selector,结果证明Selector确实很好用,但是用的人却不多,这又是为什么呢?
一个可能原因就是,很多人可能并不希望为了一个解析器要专门下载scrapy,好吧,这也就是本文的