python之 爬虫入门一

python之 爬虫入门一,第1张

概述文章目录1.基础概念什么是爬虫爬虫的价值爬虫在使用场景中的分类爬虫的矛与盾robots.txt协议http协议概念常用的请求头信息常见的响应头信息HTTPS协议加密方式2.Request模块2.1概念2.2作用2.3使用方法(request模块的编码流程)UA监测UA伪装百度翻译1.基础概念什么是

文章目录1.基础概念什么是爬虫爬虫的价值爬虫在使用场景中的分类爬虫的矛与盾robots.txt协议http协议概念常用的请求头信息常见的响应头信息HTTPS协议加密方式2.Request模块2.1概念2.2作用2.3使用方法(request模块的编码流程)UA监测UA伪装百度翻译

1.基础概念什么是爬虫

通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程

爬虫的价值

实际运用 就业

爬虫在使用场景中的分类通用爬虫:抓取系统重要组成部分,抓取的是一整张页面数据聚焦爬虫:建立在通用爬虫基础上。抓取的是页面中特定的局部内容增量式爬虫:检测网站中数据更新的情况。只会抓取网站中更新出来的数据爬虫的矛与盾反爬机制:门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取反反爬机制:爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站中相关的数据robots.txt协议

君子协议。规定了网站中哪些数据可以被爬虫爬取哪些数据不可以被爬虫爬取

http协议概念

服务器和客户端进行数据交互的一种形式

常用的请求头信息User-Agent:请求载体的身份标识Connection:请求完毕后,断开连接还是保持连接 close,keep alive两种常见的响应头信息

Content-Type:服务器响应客户端的数据类型

httpS协议

安全的超文本传输协议(传输和交互过程中数据进行加密)

加密方式对称密钥加密非对称密钥加密证书密钥加密2.Request模块2.1概念

Python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高

2.2作用

模拟浏览器发请求

2.3使用方法(request模块的编码流程)指定URL发起请求获取响应数据持久化存储
样例展示爬取
#爬取百度首页import requestsif __name__=="__main__":    #指定url    url='https://www.sogou.com/'    # 发起get请求 get方法会返回一个对象    req = requests.get(url=url)    # 获取响应数据 text返回的是字符串形式1的响应数据    page_text = req.text    print(page_text)    with open('./sogou.HTML','w',enCoding='utf-8') as fp :        fp.write(page_text)    print('爬虫结束')
UA监测

门户网站的服务器会监测对应请求载体 的身份标识,如果监测到请求的载体身份标识为某一款浏览器,说明该请求是一个正常的请求,但是,如果监测到的请求载体的身份标识不是基于某一款浏览器,说明该请求为不正常的请求(爬虫),则服务器端就很有可能拒绝该次请求

UA伪装

让爬虫对应的请求载体身份标识伪装成某一款浏览器
User-Agent:请求载体的身份标识
样例展示

import requestskw=input('请输入你要查询的信息')param={    'query':kw}headers={      'User-Agent':'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.57'}reponse=requests.get(url='https://www.sogou.com/web',params=param,headers=headers)page=reponse.textfilename='./'+kw+'.HTML'with open(filename,'w',enCoding='utf-8') as fp:    fp.write(page)print('保存成功')
百度翻译

由于在运用百度翻译时输入单词后就会有响应是翻译显示,属于AJAX同步请求,打开控制台找sug找到响应的ip地址和其他的配置


代码展示

import requests#指定urlpost_url='https://fanyi.baIDu.com/sug'word=input('请输入要翻译的单词')#post请求参数处理(同get请求一样)data={    'kw':word}# 进行UA伪装headers={      'User-Agent':'Mozilla/5.0 (windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.57'}# 发送请求response=requests.post(url=post_url,data=data,headers=headers)# 获取响应数据:Json()方法返回的是obj(如果缺人响应数据是Json类型的,才可以使用Json)ans=response.Json();print(ans)
总结

以上是内存溢出为你收集整理的python之 爬虫入门一全部内容,希望文章能够帮你解决python之 爬虫入门一所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1188372.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存