📅  最后修改于: 2023-12-03 15:36:36.134000             🧑  作者: Mango
Web Scraping 是一种从网页中抓取信息的方式。Python 中有多种库可以用于 Web Scraping,包括但不限于 beautifulsoup4
、requests
、lxml
、re
等等。
下面介绍如何使用 Python 进行 Web Scraping。
在使用 Python 进行 Web Scraping 之前,需要先安装相关的库。
可以使用以下命令安装 beautifulsoup4
和 requests
:
pip install beautifulsoup4 requests
使用 requests
库可以发送 HTTP 请求,获取网页内容。
以下是一个获取网页内容的示例:
import requests
url = 'http://www.example.com'
response = requests.get(url)
content = response.content.decode('utf-8')
print(content)
上述代码中,首先用 requests.get()
方法发送 HTTP GET 请求,获取网页的内容。然后,通过 content
属性获取网页的 HTML 内容,并使用 decode()
方法将其转换为 Unicode 字符串,便于后续处理。最后,输出网页内容。
上述代码获取的网页内容是 HTML 标记语言,它可以使用 BeautifulSoup 库进行解析。
以下是一个使用 BeautifulSoup 解析网页内容的示例:
import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'html.parser')
print(soup.prettify())
上述代码中,首先获取网页内容,然后使用 BeautifulSoup 对其进行解析,最后打印解析后的内容。html.parser
是 BeautifulSoup 的解析器,它将 HTML 文本转换为 BeautifulSoup 对象。
一旦解析了网页内容,就可以使用 BeautifulSoup 提供的方法抽取所需的内容。
以下是一个从 HTML 标记语言中抽取链接的示例:
import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'html.parser')
for link in soup.find_all('a'):
print(link.get('href'))
上述代码中,首先获取网页内容,然后使用 BeautifulSoup 对其进行解析。接着,使用 find_all()
方法查找所有的 <a>
标签,并遍历其包含的链接,使用 get()
方法获取链接并输出。