151
社区成员
发帖
与我相关
我的任务
分享前面我们已经学完 Python 基础、面向对象、装饰器、多线程多进程等全套知识点。现在进入实战入门:网络爬虫。爬虫就是模拟浏览器,向网站发送请求,获取网页源代码,提取文字、图片、数据。
打开命令提示符 CMD 输入:
pip install requests
import requests
# 目标网址
url = "https://www.baidu.com"
# 发送GET请求
res = requests.get(url)
# 设置编码,防止乱码
res.encoding = "utf-8"
# 打印网页源码
print(res.text)
print(res.status_code)
很多网站拒绝裸爬虫,需要伪装成浏览器
import requests
url = "https://www.baidu.com"
# 请求头,伪装浏览器
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
}
res = requests.get(url, headers=headers)
res.encoding = "utf-8"
print(res.text)
访问网址附带查询参数:
import requests
url = "https://www.baidu.com/s"
headers = {
"User-Agent":"Mozilla/5.0"
}
# 搜索参数
params = {
"wd":"Python学习"
}
res = requests.get(url, headers=headers, params=params)
res.encoding = "utf-8"
print(res.text)
用字符串截取简易提取:
import requests
url = "https://www.baidu.com"
headers = {"User-Agent":"Mozilla/5.0"}
res = requests.get(url, headers=headers)
res.encoding = "utf-8"
html = res.text
# 截取标题
start = html.find("<title>") + len("<title>")
end = html.find("</title>")
title = html[start:end]
print("网页标题:", title)
import requests
url = "https://www.baidu.com"
headers = {"User-Agent":"Mozilla/5.0"}
res = requests.get(url, headers=headers)
res.encoding = "utf-8"
# 写入本地html文件
with open("baidu.html", "w", encoding="utf-8") as f:
f.write(res.text)
print("网页保存成功")
time.sleep(),防止给服务器造成压力User-Agent 伪装浏览器robots.txt 协议,合法合规练习本篇学习了 Python 简易爬虫入门:requests 库安装、GET 请求、请求头伪装、带参请求、网页源码获取、提取标题、保存网页本地文件。