通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程
爬虫的价值实际运用 就业
爬虫在使用场景中的分类通用爬虫:抓取系统重要组成部分,抓取的是一整张页面数据聚焦爬虫:建立在通用爬虫基础上。抓取的是页面中特定的局部内容增量式爬虫:检测网站中数据更新的情况。只会抓取网站中更新出来的数据爬虫的矛与盾反爬机制:门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取反反爬机制:爬虫程序可以通过制定相关的策略或者技术手段,破解门户网站中具备的反爬机制,从而可以获取门户网站中相关的数据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之 爬虫入门一所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)