1 requests模块的基本使用
"""
爬虫
"""
"""
什么是爬虫?
就是通过编写程序模拟浏览器上网,然后让其去互联网上爬取数据的过程
爬虫的分类:
通用爬虫:抓取互联网中的一整张页面数据
聚焦爬虫:抓取页面中的局部数据
增量式爬虫:用来监测网站数据更新的情况,以便爬取到网站最新更新出来的数据
"""
"""
requests模块:Python中封装好的一个基于网络请求的模块。
作用:用来模拟浏览器发请求
requests模块的编码流程:
1.指定url
2.发起请求
3.获取响应数据
4.持久化存储
"""
import requests
"""
第一版:中文乱码
"""
baidu_url = 'https://www.baidu.com/'
response = requests.get(url=baidu_url)
data = response.text
print(data)
with open('baidu.html', encoding='utf-8', mode='w') as f:
f.write(data)
"""
第一版:解决中文乱码
"""
baidu_url = 'https://www.baidu.com/'
response = requests.get(url=baidu_url)
response.encoding = 'utf-8'
data2 = response.text
print(data2)
with open('baidu2.html', encoding='utf-8', mode='w') as f:
f.write(data)
2 实现一个简单的网页采集器
"""
UA(User-Agent)检测:门户网站通过检测请求载体的身份标识判定改请求是否为爬虫发起的请求,是的话会被拒绝访问。
UA伪装:将爬虫发起的请求伪装成浏览器的身份标识
Microsoft Edge浏览器的User-Agent:(检查-网络 里面去查找这个,见下面图片)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29
"""
import requests
keyword_url = "https://www.sogou.com/web?"
you_want_search = input("请输入需要查找的关键字:")
key_dict = {'query': you_want_search}
head = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36 Edg/100.0.1185.29'
}
response = requests.get(url=keyword_url, params=key_dict, headers=head)
response.encoding = 'utf-8'
datas = response.text
print(datas)
filename= you_want_search + '.html'
with open(filename, encoding='utf-8', mode='a') as f:
f.write(datas)
3 浏览器的身份标识获取:User-Agent
(1)对网页右键,选择“检查” (2)选择 “网络”,如下图步骤
|