200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 爬虫-实现一个简易的网页采集器

爬虫-实现一个简易的网页采集器

时间:2021-11-25 14:41:00

相关推荐

爬虫-实现一个简易的网页采集器

1 requests模块的基本使用

"""爬虫""""""什么是爬虫?就是通过编写程序模拟浏览器上网,然后让其去互联网上爬取数据的过程爬虫的分类:通用爬虫:抓取互联网中的一整张页面数据聚焦爬虫:抓取页面中的局部数据增量式爬虫:用来监测网站数据更新的情况,以便爬取到网站最新更新出来的数据""""""requests模块:Python中封装好的一个基于网络请求的模块。作用:用来模拟浏览器发请求requests模块的编码流程:1.指定url2.发起请求3.获取响应数据4.持久化存储"""import requests"""第一版:中文乱码"""# 爬取百度首页baidu_url = '/'# 请求发送get:get返回值是一个响应对象response = requests.get(url=baidu_url)# 响应对象返回的是以字符串形式存储的响应数据data = response.textprint(data)# 将爬取到的数据存进文件里with open('baidu.html', encoding='utf-8', mode='w') as f:f.write(data)"""第一版:解决中文乱码"""# 爬取百度首页baidu_url = '/'# 请求发送get:get返回值是一个响应对象response = requests.get(url=baidu_url)# 修改响应数据的编码格式response.encoding = 'utf-8'# 响应对象返回的是字符串形式的响应数据data2 = response.textprint(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# 利用搜狗引擎搜索中国的url,"/web?query=中国",#需要让url携带的参数动态化,观察结构keyword_url = "/web?"# 实现参数动态化you_want_search = input("请输入需要查找的关键字:")# 将输入的参数存储成一个字典,键为url的关键字key_dict = {'query': you_want_search}# 解决UA检测:伪装成Microsoft Edge浏览器的身份标识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'}# params = 请求参数;response = requests.get(url=keyword_url, params=key_dict, headers=head)# 修改响应数据的编码格式,防止乱码response.encoding = 'utf-8'# 返回的是字符串形式的响应数据datas = response.textprint(datas)filename= you_want_search + '.html'with open(filename, encoding='utf-8', mode='a') as f:f.write(datas)

3 浏览器的身份标识获取:User-Agent

(1)对网页右键,选择“检查”

(2)选择 “网络”,如下图步骤

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。