一:Python爬虫的基石 - Requests库
1.1 Requests库简介
Requests库是Python中最常用的HTTP请求库,它可以帮助我们轻松地发送各种HTTP请求,获取网页数据。而Python爬虫的核心就是抓取网页,所以Requests库是我们爬虫之旅的第一站。
1.2 安装Requests库
首先,我们需要安装Requests库。打开终端,输入以下命令:
pip install requests
安装完成后,我们就可以在Python代码中导入Requests库了。
1.3 发送HTTP请求
让我们来看一个简单的例子,使用Requests库发送一个GET请求:
import requests
response = requests.get('https://www.example.com')
print(response.text)
这段代码会向https://www.example.com
发送一个GET请求,并输出响应的文本内容。是不是很简单?
当然,除了GET请求,Requests库还支持POST、PUT、DELETE等HTTP请求。具体用法可以参考官方文档。
二:解析网页 - BeautifulSoup库
2.1 BeautifulSoup库简介
获取网页数据之后,我们需要从中提取出有用的信息。这时候就需要用到解析库了。BeautifulSoup库是Python中最常用的HTML解析库,它可以帮助我们轻松地提取网页中的关键信息。
2.2 安装BeautifulSoup库
和安装Requests库一样,我们需要先安装BeautifulSoup库。打开终端,输入以下命令:
pip install beautifulsoup4
安装完成后,我们就可以在Python代码中导入BeautifulSoup库了。
2.3 解析HTML
让我们来看一个简单的例子,使用BeautifulSoup库解析HTML文档:
from bs4 import BeautifulSoup
html = """
<html>
<head>
<title>示例网页</title>
</head>
<body>
<h1>欢迎来到示例网页!</h1>
<p>这是一个用于演示的简单HTML文档。</p>
</body>
</html>
"""
soup = BeautifulSoup(html, 'html.parser')
print(soup.title.text)
这段代码首先创建了一个BeautifulSoup对象soup
,然后输出了HTML文档中的<title>
标签的文本内容。是不是很方便?
三:爬虫实战 - 抓取豆瓣电影
了解了Requests库和BeautifulSoup库之后,我们就可以开始编写真正的爬虫程序了。在这一章中,我们将编写一个简单的爬虫,抓取豆瓣电影的电影信息。
3.1 分析目标网站
首先,我们需要分析目标网站,了解网页结构,找到我们需要抓取的数据所在的位置。
以豆瓣电影首页为例,我们需要提取的信息包括:电影名称、评分、导演、主演等。通过检查元素,我们可以发现这些信息分别位于以下标签:
-
电影名称:
-
评分:
-
导演:
-
主演:
3.2 编写爬虫代码
根据分析结果,我们可以编写如下爬虫代码:
import requests
from bs4 import BeautifulSoup
# 伪装chrome浏览器请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'
}
url = 'https://movie.douban.com/subject/1292052/' # 电影的豆瓣链接
# 发送请求,获取响应,注意页面编码,可以看一下网页的header里面的meta标签 charset=xxx
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
# 创建BeautifulSoup对象,解析响应
soup = BeautifulSoup(response.text, 'lxml')
# 提取电影名称
name = soup.find('span', property='v:itemreviewed').text
# 提取评分
score = soup.find('strong', class_='ll rating_num').text
# 提取导演
director = soup.find('a', rel='v:directedBy').text
# 打印信息
print(f'电影名称:{name}')
print(f'评分:{score}')
print(f'导演:{director}')
这段代码首先发送请求获取豆瓣电影首页的HTML内容,然后使用BeautifulSoup解析提取出电影名称、评分、导演、主演等信息,并输出结果。
3.3 运行爬虫
运行上面的代码,我们可以看到如下输出结果:
电影名称:肖申克的救赎 The Shawshank Redemption
评分:9.7
导演:弗兰克·德拉邦特
恭喜你,现在你已经成功编写了一个简单的豆瓣电影爬虫!
技术总结
本文介绍了Python爬虫的基本知识,以及如何使用Requests库和BeautifulSoup库编写爬虫程序。
Python经验分享
学好 Python 不论是就业数据分析还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
Python学习路线
这里把Python常用的技术点做了整理,有各个领域的知识点汇总,可以按照上面的知识点找对应的学习资源。
学习软件
Python常用的开发软件,会给大家节省很多时间。
学习视频
编程学习一定要多多看视频,书籍和视频结合起来学习才能事半功倍。
100道练习题
实战案例
光学理论是没用的,学习编程切忌纸上谈兵,一定要动手实操,将自己学到的知识运用到实际当中。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。