Beautiful Soup - 抓取HTML内容



从网站提取数据的过程称为网页抓取。网页可能包含网址、电子邮件地址、图像或任何其他内容,我们可以将其存储在文件或数据库中。手动搜索网站是一个繁琐的过程。有不同的网页抓取工具可以自动化此过程。

网页抓取有时会被“robots.txt”文件禁止。一些流行的网站提供API以结构化方式访问其数据。不道德的网页抓取可能会导致您的IP被封。

Python被广泛用于网页抓取。Python标准库具有urllib包,可用于从HTML页面提取数据。由于urllib模块与标准库捆绑在一起,因此无需安装。

urllib包是Python编程语言的HTTP客户端。当我们想要打开和读取URL时,urllib.request模块非常有用。urllib包中的其他模块包括:

  • urllib.error 定义了urllib.request命令引发的异常和错误。

  • urllib.parse 用于解析URL。

  • urllib.robotparser 用于解析robots.txt文件。

使用urllib模块中的urlopen()函数从网站读取网页内容。

import urllib.request
response =  urllib.request.urlopen('https://pythonlang.cn/') 
html = response.read()

您也可以为此目的使用requests库。在使用前需要安装它。

pip3 install requests

在下面的代码中,抓取了https://tutorialspoint.com的首页:

from bs4 import BeautifulSoup
import requests


url = "https://tutorialspoint.com/index.htm"
req = requests.get(url)

然后使用Beautiful Soup解析通过上述两种方法之一获得的内容。

广告
© . All rights reserved.