使用BeautifulSoup与XPath进行Python Web Scraping的优缺点

时间:2015-10-02 16:43:38

标签: python xpath web-scraping beautifulsoup

我最近在Python中使用BeautifulSoup了解网页抓取,但今天早些时候我建议考虑使用XPath表达式。

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

2 个答案:

答案 0 :(得分:3)

我已经使用了BeautifulSoup和lxml,并根据经验倾向于使用lxml。见performance comparison here。使用BeautifulSoup时要注意的一件事是明确选择解析器。为您选择的默认解析器可能会错误地解析结果,而不会发出可能导致噩梦的警告 - my experience here

话虽如此,我发现写一个bs4片段比对应的lxml更容易。

答案 1 :(得分:1)

我建议bs4,它的用法和文档更友好,会节省你的时间并增加信心,这对你自学字符串操作非常重要。

然而在实践中,它需要强大的CPU。我曾经在我的1核VPS上连接不超过30个连接,并且python进程的CPU使用率保持在100%。它可能是执行不良的结果,但后来我把所有内容都重新编译并且性能问题已经消失。

至于表现,正则表达式> lxml>> BS4。至于完成任务,没有区别。