python学习1
Posted 见怪见外
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习1相关的知识,希望对你有一定的参考价值。
今天开始了新的学习,python,了解了request请求的四个步骤分别是
-指定url
-发起请求
-获取响应数据
-持久化存储
同时又了解了UA检测以及UA伪装的意思:
#UA检测:门户网站的服务器会检测对应请求的载体身份表示,检测其是网络爬虫还是一个浏览器
#UA伪装:网络爬虫可以将自己的头部修改成和浏览器一样的,以使门户网站将自己的请求误认为浏览器的请求
下面是两个案例,一个是爬取搜狗搜索页面的内容信息的,另一个是制作一个简单的网页采集器的小测试。
1.爬取搜狗首页
#requst模块 #需求:爬取搜狗首页页面是数据 import requests #下面这句话相当于主函数 if __name__ == \'__main__\': #step.1 指定url url = \'https://www.sogou.com/\' #step.2 发起请求,get方法会返回一个响应对象 response = requests.get(url=url) #step.3 获取响应数据.text返回的是字符串形式的响应数据 page_text = response.text print(page_text) #step.4持久化存储,将爬取到的数据存储到sogou.html中,设置编码utf8,起名fp, with open(\'./sogou.html\',\'w\',encoding=\'utf-8\') as fp: #在fp中写入page_text fp.write(page_text) print(\'爬取结束!!!!!\')
2.制作简单网页采集器
#UA检测:门户网站的服务器会检测对应请求的载体身份表示,检测其是网络爬虫还是一个浏览器 #UA伪装:网络爬虫可以将自己的头部修改成和浏览器一样的,以使门户网站将自己的请求误认为浏览器的请求 import requests if __name__ == \'__main__\': #UA伪装,将对应的UserAgent封装到一个字典里 headers={ \'User-Agent\':\'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36 Edg/91.0.864.54\' } #传递参数时,此处的?保留不保留都可以 #url = \'https://www.baidu.com/s\' url = \'https://www.sogou.com/web\' #处理url携带的参数:封装到字典中 kw = input(\'enter a word:\') param = { \'query\':kw } #对指定的url发起的请求对应的url是携带参数的,并且请求过程中处理了参数 response = requests.get(url=url,params=param,headers=headers) page_text = response.text fileName = kw+\'.html\' with open(fileName,\'w\',encoding=\'utf-8\') as fp: fp.write(page_text) print(fileName,\'保存成功!!!\')
在这两个小demo中,我发现了不同的搜索下,同一个程序可能爬取的东西就不同,因为各个不同的搜索软件对待爬虫的机制不同。
各个搜索软件中使用的搜索参数也有所差异,如百度使用wd,而搜狗使用query
以上是关于python学习1的主要内容,如果未能解决你的问题,请参考以下文章