Web 抓取:Selenium 与 BeautifulSoup 的对比。


我们可以使用 Selenium Webdriver 和 BeautifulSoup 来执行 web 抓取。Web 抓取用于从页面中提取内容。在 Python 中,这是通过 BeautifulSoup 包实现的。

我们抓取并获取页面上的以下链接 −

我们还将看到上述链接的 html 结构 −

我们来看看如何使用 BeautifulSoup 进行 web 抓取

要安装 Beautifulsoup 所需的包,我们应该运行以下命令 −

pip install bs4
pip install requests

示例

from bs4 import BeautifulSoup
import requests
#get all response
d=requests.get("https://tutorialspoint.com/about/about_careers.htm")
#response content whole page in html format
s = BeautifulSoup(d.content, 'html.parser')
#access to specific ul element with BeautifulSoup methods
l = s.find('ul', {'class':'toc reading'})
#access all children of ul
rs = l.findAll('li')
   for r in rs:
      #get text of li elements
         print(r.text)

现在,我们来看看如何将 BeautifulSoup 与 Selenium 一起用于 web 抓取。

要将 BeautifulSoup 与 Selenium 一起使用,我们应该运行命令 −

pip install bs4 selenium

示例

from selenium import webdriver
from bs4 import BeautifulSoup
#path of chromedriver.exe
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
#launch browser
driver.get ("https://tutorialspoint.com/about/about_careers.htm")
#content whole page in html format
s = BeautifulSoup(driver.page_source, 'html.parser')
#access to specific ul element with BeautifulSoup methods
l = s.find('ul', {'class':'toc reading'})
#get all li elements under ul
rs = l.findAll('li')
for r in rs:
   #get text of li elements
      print(r.text)

输出

更新于: 2021 年 1 月 30 日

258 次浏览

开启你的事业

通过完成课程来获得认证

开始
广告