eli*_*lie 35 javascript python selenium beautifulsoup
我正在使用Python从网站上抓取内容.首先我使用BeautifulSoup和Mechanize在Python上,但我看到该网站有一个按钮,通过JavaScript创建内容所以我决定使用Selenium.
鉴于我可以使用Selenium找到元素并使用类似方法获取其内容driver.find_element_by_xpath,BeautifulSoup当我可以将Selenium用于所有内容时,有什么理由可以使用?
在这种特殊情况下,我需要使用Selenium来点击JavaScript按钮,因此最好使用Selenium进行解析,还是应该同时使用Selenium和Beautiful Soup?
Mar*_*ery 52
直接回答你的问题之前,这是值得一说为出发点:如果你需要做的是从静态的HTML页面拉内容,你应该使用一个HTTP库(如请求或内置urllib.request)用lxml或BeautifulSoup不硒(虽然Selenium也可能足够了).不必使用Selenium的优点:
requests.请注意,需要cookie才能运行的站点不是打破Selenium的理由 - 您可以轻松创建一个URL打开功能,使用cookielib/cookiejar神奇地设置和发送带有HTTP请求的cookie.
好的,那你为什么要考虑使用Selenium?几乎完全是为了处理通过JavaScript将要爬网的内容添加到页面中而不是粘贴到HTML中的情况.即便如此,您也许能够获得所需的数据而不会破坏重型机械.通常,其中一种情况适用:
如果你不使用Selenium决定你的情况的优点,在无头的模式,这是由(至少)的Firefox和Chrome驱动程序支持使用它.Web抓取通常不需要实际以图形方式呈现页面,或使用任何特定于浏览器的怪癖或功能,因此无头浏览器 - 具有较低的CPU和内存成本以及较少的移动部件来崩溃或挂起 - 是理想的选择.
| 归档时间: |
|
| 查看次数: |
18630 次 |
| 最近记录: |