【问题标题】:Using Selenium and Beautiful Soup with regards to finding elements在寻找元素方面使用 Selenium 和 Beautiful Soup
【发布时间】:2019-07-24 01:05:17
【问题描述】:

总的来说,我对网络抓取和数据科学还很陌生。 根据各种消息来源,beautifulsoup 在网页抓取方面比 selenium 更快。 我正在编写一些通过社交媒体 cmets 爬行的代码。我正在使用 Selenium 自动单击检索旧 cmets 的按钮并使用

从 cmets 中获取文本
driver.find_element_by_xpath()

我知道 beautifulsoup 没有让我直接输入 xpath 来查找元素的功能。

在这种情况下,我是否应该放弃对使用 xpath 的依赖,而尝试使用可以被漂亮汤使用的选择器来更舒服?

我的代码现在感觉超级笨重,需要几分钟,尽管我只处理了大约 120 cmets。

对不起,如果以前有人问过这个问题;我无法在网站上找到它。谢谢!

【问题讨论】:

  • 美汤可以使用xpath或者css。如果您打算在其他库之间切换,最好避免使用特定于 BS 的选择器语法。

标签: python python-3.x selenium beautifulsoup


【解决方案1】:

听起来您的代码运行良好。不知道你在找什么很难说,但是使用 requests 和 beautifulsoup 会更快

这里有很好的指导 https://www.digitalocean.com/community/tutorials/how-to-work-with-web-data-using-requests-and-beautiful-soup-with-python-3

你会喜欢来自汤的 CSS 选择器

for cell in soup.select('table#foobar td.empformbody'):
    # your code

【讨论】:

    【解决方案2】:

    Scrapy 是一个 Python 库,也是为网页抓取而设计的。它比汤有更多的选择,其中之一包括直接使用 xpaths 来抓取信息。您可能想考虑使用它,我发现它比汤更容易使用。

    【讨论】:

      猜你喜欢
      • 2021-03-04
      • 2021-05-31
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      • 2013-01-09
      • 2021-08-13
      • 2020-11-25
      • 1970-01-01
      相关资源
      最近更新 更多