Python网络爬虫四大选择器(正则表达式、BS4、Xpath、CSS)总结选择器分别抓取京东商品信息。今天,我就为大家总结一下这四种选择器,让大家对Python选择器有更深入的了解和熟悉。1、正则表达式正则表达式为我们提供了抓取数据的捷径。虽然这个正则表达式更容易适应未来的变化,但它很难构造并且可读性较差。爬取京东时,正则表达式如下图所示:利用正则表达式实现目标信息的精准采集另外,我们都知道网页经常变化,导致网页布局会出现一些细微的变化,这个时候也会让之前写的正则表达式无法满足要求,也不太好调试。当需要匹配的内容较多时,使用正则表达式提取目标信息会减慢程序的运行速度,消耗更多的内存。2.BeautifulSoupBeautifulSoup是一个非常流行的Python模块。该模块可以解析网页并为定位内容提供方便的接口。该模块可以通过“pipinstallbeautifulsoup4”安装。使用BeautifulSoup提取目标信息使用BeautifulSoup的第一步是将下载的HTML内容解析为soup文档。由于大多数网页不是格式良好的HTML,BeautifulSoup需要确定实际的格式。BeautifulSoup正确解析缺失的引号和结束标签,还添加了和
标签,使其成为一个完整的HTML文档。通常使用find()和find_all()方法来定位我们需要的元素。如果想了解BeautifulSoup的所有方法和参数,可以查看BeautifulSoup的官方文档。BeautifulSoup虽然在代码理解上比正则表达式复杂,但是更容易构造和理解。3、LxmlLxml模块是用C语言编写的,解析速度比BeautiflSoup快,安装过程也比较复杂,这里不再赘述。XPath使用路径表达式来选择XML文档中的节点。通过以下路径或步骤选择节点。XPath使用lxml模块的第一步和BeautifulSoup一样,都是把可能不合法的HTML解析成统一的格式。虽然lxml可以正确解析属性两边缺失的引号并关闭标签,但是这个模块并没有添加额外的和标签。在线复制XPath表达式可以很方便的复制XPath表达式。但是这种方法得到的XPath表达式在程序中一般是不能用的,读起来也太长了。所以XPath表达式一般还是要自己搞定。第四,CSSCSS选择器表示用于选择元素的模式。BeautifulSoup将CSS选择器的语法与自己方便的API集成在一起。在网络爬虫的开发过程中,对于熟悉CSS选择器语法的人来说,使用CSS选择器是一种非常方便的方法。CSS选择器以下是一些常用选择器的示例。选择所有标签:*选择标签:a选择所有class="link"的元素:.link选择class="link"的标签:a.link选择