Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用BeautifulSoup与XPath的Python Web抓取的优缺点 P>我最近一直在学习Python中使用漂亮的汤进行网络擦拭,但是今天早些时候我被建议考虑使用XPath表达式。< /P>_Python_Xpath_Web Scraping_Beautifulsoup - Fatal编程技术网

使用BeautifulSoup与XPath的Python Web抓取的优缺点 P>我最近一直在学习Python中使用漂亮的汤进行网络擦拭,但是今天早些时候我被建议考虑使用XPath表达式。< /P>

使用BeautifulSoup与XPath的Python Web抓取的优缺点 P>我最近一直在学习Python中使用漂亮的汤进行网络擦拭,但是今天早些时候我被建议考虑使用XPath表达式。< /P>,python,xpath,web-scraping,beautifulsoup,Python,Xpath,Web Scraping,Beautifulsoup,XPath和BeautifulSoup的工作方式有何不同?我建议bs4,它的使用和文档更友好,将节省您的时间并增加信心,这在您自学字符串操作时非常重要 然而在实践中,它需要一个强大的CPU。我曾经在我的1core VPS上使用不超过30个连接,python进程的CPU使用率保持在100%。这可能是实现不好的结果,但后来我改变了一切,重新编译,性能问题消失了 至于性能,regex>lxml>>bs4。至于完成事情,没有区别。我已经使用了BeautifulSoup和lxml,并根据经验倾向于使用lx

XPath和BeautifulSoup的工作方式有何不同?

我建议bs4,它的使用和文档更友好,将节省您的时间并增加信心,这在您自学字符串操作时非常重要

然而在实践中,它需要一个强大的CPU。我曾经在我的1core VPS上使用不超过30个连接,python进程的CPU使用率保持在100%。这可能是实现不好的结果,但后来我改变了一切,重新编译,性能问题消失了


至于性能,regex>lxml>>bs4。至于完成事情,没有区别。

我已经使用了BeautifulSoup和lxml,并根据经验倾向于使用lxml。看见使用BeautifulSoup时需要注意的一件事是显式选择解析器。为您选择的默认解析器可能会在没有警告的情况下错误地解析结果,从而导致噩梦-


话虽如此,我发现编写bs4代码片段通常比编写相应的lxml更容易

这完全是基于观点的,我想知道我用其中一个代替另一个会有什么好处。当然,有人说“BS是我使用的,因为我认为总体上它更好”和我实际要求的是“使用XPath的有益功能将是……”这两者之间有区别。两者都推荐了不同的方法,后一个答案也自相矛盾,说的是,我发现编写bs4代码段通常比编写相应的lxml更容易。因此,即使是他们也无法完全决定哪一个更好。你认为什么会比另一个更好,速度,易用性,代码可读性,或者什么是你定义最好的标准?在我的问题中,我没有问哪个更好。如果你通读一遍,我只是想了解它们之间的区别以及每个选项的优缺点。我的问题引发了矛盾,我并不是在寻找一套统一的优势。更重要的是,我认为这个问题的答案不仅对我自己有利(因为他们已经这样做了),而且对我未来处境中的其他人也有利。