Python中怎么实现一个网页采集器
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,本篇文章为大家展示了Python中怎么实现一个网页采集器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。requests模块python中封装好的一个基于网络请
千家信息网最后更新 2024年11月30日Python中怎么实现一个网页采集器
本篇文章为大家展示了Python中怎么实现一个网页采集器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
requests模块
python中封装好的一个基于网络请求的模块。用来模拟浏览器发请求。安装:pip install requests
requests模块的编码流程
指定url
发起请求
获取相应数据
持久化储存
# 爬取搜狗首页的页面源码数据import requests# 1. 指定urlurl = "https://www.sogou.com"# 2.发送请求 getresponse = requests.get(url=url) # get返回值是Response对象# 获取响应数据,响应数据在Response对象里page_text = response.text # text返回字符串形式的响应数据# 4.持久化储存with open("sogou.html","w",encoding='utf-8') as fp: fp.write(page_text)
项目:实现一个简易的网页采集器
要求:程序基于搜狗录入任意的关键字然后获取关键字对应的相关的整个页面。
# 1.指定url,需要让url携带的参数动态化url = "https://www.sogou.com/web"# 实现参数动态化,不推荐参数的拼接,参数如果太多就相当麻烦。# requests模块实现了更为简便的方法ky = input("enter a key")params = { 'query':ky}# 将需要的请求参数对应的字典作用到get方法的params参数中,params参数接受一个字典response = requests.get(url=url,params=params)page_text = response.textwith open(f"{ky}.html","w",encoding='utf-8') as fp: fp.write(page_text)
上述代码执行后:
出现了乱码
数据量级不对
# 解决乱码url = "https://www.sogou.com/web"ky = input("enter a key")params = { 'query':ky}response = requests.get(url=url,params=params)# print(response.encoding) 会打印原来response的编码格式response.encoding = 'utf-8' # 修改响应数据的编码格式page_text = response.textwith open(f"{ky}.html","w",encoding='utf-8') as fp: fp.write(page_text)
上述代码执行后:
收到了错误页面(搜狗的反爬机制)
UA检测
绝大多数网站都有UA检查反爬机制
门户网站通过检测请求载体的身份标识判定该请求是否为爬虫发出的请求
反反爬策略:UA伪装 请求头增加User-Agent
打开浏览器请求搜狗页面,右键点击检查进入Network,点击Headers找到浏览器的User-Agent
注意:任意浏览器的身份标识都可以。
# 反反爬策略:请求头增加User-Agenturl = "https://www.sogou.com/web"ky = input("enter a key")params = { 'query':ky}# 请求头中增加User-Agent ,注意请求头的数据格式是键值对,且都是字符串。headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36"}response = requests.get(url=url,params=params,headers=headers)response.encoding = 'utf-8' page_text = response.textwith open(f"{ky}.html","w",encoding='utf-8') as fp: fp.write(page_text)
上述内容就是Python中怎么实现一个网页采集器,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
数据
参数
搜狗
模块
浏览器
页面
浏览
网页
采集器
格式
编码
乱码
代码
关键
关键字
内容
动态
字典
字符
字符串
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库er图外码怎么标
浏览器代理服务器地址
天津智慧养老管理平台软件开发
数据库的数据通信是什么
中国数据库市场分析报告
外网服务器连内网数据库
网络安全的相关龙头股票
网络技术公司的财务工作
分散服务器
服务器作业指导书
数据库技术0072答案
下列属于数据库管理系统有
传奇3数据库设置
合肥网络技术学院
mfc服务器与客户端
江苏ai人脸识别软件开发
自己的ssr服务器
助理软件开发工程师考什么
ivms4200服务器管理
青岛市软件开发
循环读取数据库数据问题
网络安全会议7月20日
网络技术人工智能技术等
分散服务器
新时代网络安全发展趋势
世界各国对网络安全的战略
计算机网络技术的工作内容
国外域名服务器
网络安全三巨头分析
光遇蟑螂挂对服务器危害大吗