我正在使用Python从网站上抓取内容。首先,我用BeautifulSoup
和Mechanize
Python的,但我看到,该网站有一个按钮,通过JavaScript创建的内容,所以我决定使用Selenium
。
假设我可以使用Selenium等方法找到元素并获取其内容driver.find_element_by_xpath
,那么BeautifulSoup
当我可以对所有内容都使用Selenium时,有什么理由要使用?
在这种特殊情况下,我需要使用Selenium来单击JavaScript按钮,以便更好地使用Selenium进行解析还是应该同时使用Selenium和BeautifulSoup?
在直接回答问题之前,值得一开始:如果您需要做的就是从静态HTML页面提取内容,则可能应将HTTP库(例如Requests或内置urllib.request
)与lxml
或BeautifulSoup
而不是Selenium(尽管硒可能也足够了)。不需要使用硒的优点:
requests
。请注意,要求cookie起作用的站点并不是破解Selenium的理由-
您可以轻松创建一个URL开启函数,该函数使用cookielib
/
cookiejar神奇地设置和发送HTTP请求中的cookie。
好的,那为什么还要考虑使用Selenium?几乎完全可以处理您要爬网的内容是通过JavaScript添加到页面而不是烘焙为HTML的情况。即使这样,您也可以在不破坏重型机械的情况下获得所需的数据。通常,以下情况之一适用:
如果您 确实
确定使用Selenium的情况值得考虑,请在无头模式下使用它,(至少)Firefox和Chrome驱动程序支持。Web爬虫通常不需要实际图形化地呈现页面,也不需要使用任何特定于浏览器的怪癖或功能,因此理想的选择是无头浏览器-
它具有较低的CPU和内存成本以及较少的死机或挂起活动部件。
问题内容: 基本上,我想使用来严格抓取网页上的可见文本。例如,此网页是我的测试用例。我主要想获取正文文本(文章),甚至在这里和那里甚至几个标签名称。我已经尝试过在这个SO问题中返回不想要的标签和html注释的建议。我无法弄清楚该函数所需的参数,以便仅获取网页上的可见文本。 那么,我应该如何查找除脚本,注释,CSS等之外的所有可见文本? 问题答案: 尝试这个:
我正试图从以下网站“url=”上抓取内容https://angel.co/life-sciences' ". 该网站包含8000多个数据。从这个页面我需要像公司名称和链接,加入日期和追随者的信息。在此之前,我需要通过单击按钮对followers列进行排序。然后单击“更多隐藏”按钮加载更多信息。页面最多可点击20次(隐藏更多)内容,此后不会加载更多信息。但我只能通过排序来获取顶级追随者的信息。这里我
问题内容: 我想从网站上获取每天的日出/日落时间。是否可以使用Python抓取网络内容?使用什么模块?有没有可用的教程? 问题答案: 结合使用urllib2和出色的BeautifulSoup库:
因此,我正在尝试webscrape https://data.bls.gov/cgi-bin/surveymost?bls,并且能够弄清楚如何通过点击进行webscrape以获得一个表。 我正在练习的选择是在您选择与薪酬下的“雇用成本指数(ECI)文职(未调整)-CIU1010000000000A”相关联的复选框之后,然后选择“检索数据”。 处理完这两个之后,将显示一个表。这就是我要刮的桌子。 下
问题内容: 我试图从HTML中提取许多页面的数据(数字)。每个页面的数据都不同。当我尝试使用soup.select(’span [class =“ pull- right”]’)时,它应该给我编号,但只有标签出现。我相信这是因为网页中使用了Javascript。180,476是我要在许多页面上使用的特定HTML处的数据位置: 我的代码(这在很多页面上都是循环的): 输出: 范例网址:https:/
问题内容: 在网站上,有在标顶部的几个环节,,,和。如果按下以数字标记的链接,它将动态地将一些数据加载到content中。如果被按下,它会用标签页,,,和第4页中的数据显示。 我想从按下的所有链接的内容中抓取数据(我不知道有多少,一次只显示3个,然后) 请举一个例子。例如,考虑网站www.cnet.com。 请指导我下载使用selenium的一系列页面,并自行解析它们以处理漂亮的汤。 问题答案: