Python使用requests模块爬取百度翻译
requests模块:
python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高。
作用:模拟浏览器发请求。
提示:老版使用urllib模块,但requests比urllib模块要简单好用,现在学习requests模块即可!
requests模块编码流程
指定url
1.1UA伪装
1.2请求参数的处理
2.发起请求
3.获取响应数据
4.持久化存储
环境安装:
pipinstallrequests
案例一:破解百度翻译(post请求)
1.代码如下:
#爬取百度翻译 #导入模块 importrequests importjson #UA伪装:将对应的User-Agent封装到一个字典中 headers={ 'user-agent':'Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)' 'Chrome/57.0.2987.98Safari/537.36'} #网页访问连接 url='https://fanyi.baidu.com/sug' #处理url携带的参数:封装到字典中 word=input("inputaword:") data={ 'kw':word } #请求发送 res=requests.post(url=url,data=data,headers=headers) #获取响应数据:json()方法返回的是obj(如果确认响应数据是json类型的,才可以使用json()) dic_obj=res.json() #持久化存储 filename=word+'.json' fp=open(filename,'w',encoding='utf-8') json.dump(dic_obj,fp=fp,ensure_ascii=False) #打印完成提示 print('finish')
其中:
https://fanyi.baidu.com/sug这个url的定位如下图:
2.运行结果
案例二:爬取搜狗页面数据(get请求)
1.代码如下
importrequests 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:持久化存储 withopen('./sogou.html','w',encoding='utf-8')asfp: fp.write(page_text) print('爬取数据结束!!!')
2.运行结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。