我最近在Python中使用BeautifulSoup了解网页抓取,但今天早些时候我建议考虑使用XPath表达式。
XPath和BeautifulSoup的工作方式有何不同?
答案 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。至于完成任务,没有区别。