php如何抓取网页内容(文章目录从网站中提取数据主要有两种方式:本文)
优采云 发布时间: 2021-12-14 14:03php如何抓取网页内容(文章目录从网站中提取数据主要有两种方式:本文)
文章内容
如何使用 BeautifulSoup 抓取网页
从网站中提取数据主要有两种方式:
本文知乎博客为大家介绍如何使用BeautifulSoup爬取网页的步骤。
使用 BeautifulSoup 抓取网页
使用BeautifulSoup爬取一个网页的内容,首先是向你要访问的网页的URL发送一个HTTP请求。服务器通过返回网页的 HTML 内容来响应请求。对于此任务,我们将使用第三方 HTTP 库来处理 Python 请求。
一旦我们访问了 HTML 内容,我们就剩下解析数据的任务,并且需要一个可以创建 HTML 数据的嵌套/树结构的解析器。然后,所有需要做的就是导航和搜索我们创建的解析树,即树遍历。对于此任务,我们将使用另一个第三方 Python 库 Beautiful Soup。它是一个用于从 HTML 和 XML 文件中提取数据的 Python 库。
1、安装需要的第三方库
pip install requests
pip install html5lib
pip install bs4
2、从网页访问 HTML 内容
import requests
URL = "https://www.pythonthree.com/python_basic/beautiful-soup-tutorial/"
r = requests.get(URL)
print(r.content)
让我们试着理解这段代码。
3、解析HTML内容
import requests
from bs4 import BeautifulSoup
URL = "https://www.pythonthree.com/python_basic/beautiful-soup-tutorial/"
r = requests.get(URL)
soup = BeautifulSoup(r.content, 'html5lib')
print(soup.prettify())
BeautifulSoup 库的一个真正好处是它建立在 HTML 解析库(例如 html5lib、lxml、html.parser 等)之上。因此,可以同时创建一个 BeautifulSoup 对象并指定一个解析器库。
在上面的例子中,
soup = BeautifulSoup(r.content, 'html5lib')
我们通过传递两个参数来创建一个 BeautifulSoup 对象:
现在打印soup.prettify(),它给出了从原创HTML 内容创建的解析树的可视化表示。
4、搜索导航解析树
现在,我们要从 HTML 内容中提取一些有用的数据。汤对象收录可以通过编程方式提取的嵌套结构中的所有数据。在我们的示例中,我们正在抓取收录一些引号的网页。因此,我们想创建一个程序来保存这些报价(以及所有关于它们的相关信息)。
在继续之前,我们建议您浏览我们使用soup.prettify() 方法打印的网页的HTML 内容,并尝试找到导航到引号的模式或方法。
总结
以上是关于如何使用BeautifulSoup抓取网页内容。如果您发现任何不正确的内容,或者您想分享有关上述主题的更多信息,请发表评论。这是一个如何用 Python 创建网络爬虫的简单示例。从这里,您可以尝试丢弃您选择的任何其他 网站。
推荐:零基础如何开始学习Python
推荐:美汤教程
评价 文章
知乎博客,版权所有丨如未注明,均为原创
知乎博客 »如何使用BeautifulSoup抓取网页