Python 爬虫获取网页源码
1. 简介
在互联网时代,获取网页上的数据是非常常见的需求。而爬虫技术则是实现这一需求的重要手段之一。Python作为一门强大的编程语言,提供了丰富的库和工具来实现爬虫功能。
本文将介绍使用Python编写爬虫程序,获取网页源码的方法和技巧。我们将使用Python的requests
库来发送HTTP请求,并使用BeautifulSoup
库来解析网页源码。
2. 安装依赖库
在开始编写爬虫程序之前,我们首先需要安装所需的依赖库。打开终端或命令提示符窗口,并执行以下命令:
pip install requests beautifulsoup4
以上命令将会自动安装requests
和BeautifulSoup
库。
3. 发送HTTP请求
在爬虫程序中,我们首先需要发送HTTP请求来获取网页的源码。Python提供了requests
库来进行HTTP请求的发送。下面是一个简单的发送GET请求的示例:
import requests
# 发送GET请求
response = requests.get('
# 输出网页源码
print(response.text)
在上述示例中,我们使用requests.get
方法发送了一个GET请求,并将返回的响应赋值给变量response
。然后我们通过response.text
属性获取到了网页的源码,并使用print
函数将其打印出来。
4. 解析网页源码
获取到网页的源码之后,接下来我们需要对其进行解析,以提取出我们所需的数据。Python提供了BeautifulSoup
库来解析HTML或XML文件。下面是一个使用BeautifulSoup
解析网页源码的示例:
from bs4 import BeautifulSoup
# 网页源码
html = '''
<html>
<head>
<title>Example Page</title>
</head>
<body>
Hello, World!
<p>This is an example page.</p>
</body>
</html>
'''
# 创建BeautifulSoup对象
soup = BeautifulSoup(html, 'html.parser')
# 提取标题
title = soup.title.string
# 提取正文内容
content = soup.body.get_text()
# 输出结果
print('Title:', title)
print('Content:', content)
在上述示例中,我们使用BeautifulSoup
库创建了一个BeautifulSoup
对象,并将网页源码和解析器类型传递给它。然后我们可以使用soup
对象提供的方法和属性来提取网页的各个部分。在示例中,我们提取了网页的标题和正文内容,并将其打印出来。
5. 完整示例
现在,让我们来编写一个完整的爬虫程序,来获取某个网页的标题和所有链接的URL。
import requests
from bs4 import BeautifulSoup
# 发送GET请求
response = requests.get('
# 解析网页源码
soup = BeautifulSoup(response.text, 'html.parser')
# 提取标题
title = soup.title.string
# 提取所有链接的URL
links = soup.find_all('a')
urls = [link['href'] for link in links]
# 输出结果
print('Title:', title)
print('URLs:', urls)
在上述示例中,我们首先发送了一个GET请求来获取网页的源码,并将其赋值给变量response
。然后,我们使用BeautifulSoup
库解析了网页的源码,并将其赋值给变量soup
。接下来,我们使用soup
对象提供的方法和属性,提取了网页的标题和所有链接的URL,并将它们分别赋值给变量title
和urls
。最后,我们使用print
函数将结果打印出来。
6. 总结
通过本文的介绍,我们学习了使用Python编写爬虫程序,获取网页源码的方法和技巧。我们使用了requests
库发送HTTP请求,并使用BeautifulSoup
库解析网页的源码。同时,我们还提供了一个完整的示例程序,来演示如何获取网页的标题和所有链接的URL。