Python爬虫〇二———从几个简单的爬虫开始
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python爬虫〇二———从几个简单的爬虫开始,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2581字,纯文字阅读大概需要4分钟。
内容图文
![Python爬虫〇二———从几个简单的爬虫开始](/upload/InfoBanner/zyjiaocheng/611/cf468e86d1fb4f478cf9a04b6c7e435e.jpg)
下面,我们从几个简单的爬虫开始我们的爬虫之旅
通用爬虫我们先来做一个通用的爬虫,作用是爬取一个搜索引擎的搜索结论。比方说用搜狗搜一下python这个关键字,注意看一下url:
可以看出来这是个GET请求,参数可以直接看出来,也可以通过浏览器的抓包工具看一下
上面的图里大概演示了从哪里找到抓包工具,选中的就是我们请求的内容。可以看看右边那个对话框中的Headers选项卡里的内容,讲了请求头和响应头
请求头
响应头
请求头中选中的那一行User-Agent是几乎所有爬虫都要设置的一个内容,——UA伪装。
UA伪装和UA策略
服务器在拿到请求的时候,可以通过请求头里的参数User-Agent获取到请求载体的身份标识,如果是浏览器的话就允许访问数据,否则就屏蔽掉。这应该就是最原始的反爬策略了。所以我们就给爬虫加了个UA伪装,让他假装是一个浏览器
1 #!/usr/bin/python3 2 import requests 3 4 if __name__ == '__main__': 5 url = 'https://www.sogou.com/web' 6 headers = { 7 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36' 8 } 9 #处理url携带的参数 10 kw = input('word:') 11 12 param = { 13 'query':kw 14 } 15 16 respon = requests.get(url,params=param,headers=headers) 17 18 data = respon.text 19 file_name ='./'+ kw+'.html' 20 with open(file_name,'w',encoding='utf-8') as f: 21 f.write(data)
上面就是最简单的爬虫了。param里的key是从GET请求的参数来的
整个过程没什么难的,因为响应头里定义了数据的类型就是text,所以我们就在18行里的data就是respon.text的方式拿到数据的。
AJAX响应页面的爬虫有很多的页面是通过AJAX请求来对页面部分刷新的,而这些刷新出来的内容正是我们需要的,这个爬虫要怎么做呢?
其实我们主要就是想拿到输入框下面的内容,注意看一下我们每输入一个字母就会队页面进行一下刷新,所以这应该是个AJAX请求
还是要看看抓包工具里的几个重要的参数
上面说明了AJAX请求的URL和方法
这里可以注意一下,返回的内容是个json对象
看看输入do以后的请求带的参数,主要是query,其实其他的都可以暂时忽略。
所以我们可以根据上面的内容来组织代码
1 # !/usr/bin/python3 2 import requests 3 4 if __name__ == '__main__': 5 url = 'https://fanyi.baidu.com/sug' 6 headers = { 7 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36' 8 } 9 10 word = input('word') 11 12 data = {'kw':word} 13 14 response = requests.post(url=url,headers=headers,data=data) 15 16 with open('./'+word,'w') as f: 17 f.write(response.json)
因为响应的内容是个json对象,所以最后一行的代码是response.json,这样就完成了数据的持久化。
总结从上面两个简单的爬虫入手,我们大概了解了如何通过浏览器的行为去构建一个爬虫。后面我们去爬一个稍微复杂的数据!
内容总结
以上是互联网集市为您收集整理的Python爬虫〇二———从几个简单的爬虫开始全部内容,希望文章能够帮你解决Python爬虫〇二———从几个简单的爬虫开始所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。