脚本宝典收集整理的这篇文章主要介绍了python爬虫-requests模块(路飞学城),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
python中原生的一款基于网络请求的模块,其作用是:模拟浏览器发起请求。 如何使用:
url="......"
response=requests.get(url =url)
page_text=response.text
with open ('文件名','w',encoding='utf-8') as fp:
fp.write(page_text)
print('数据爬取完毕!')
示例:
import requests
#url
url='https://www.baidu.com/'
response=requests.get(url=url)
response.encoding='uft-8'
page_text=response.text
with open("./爬虫/baidu.html",'w',encoding='utf-8') as fp:
fp.write(page_text)
import requests
if __name__== "__main__":
keyword=input('enter a key word:')
#UA伪装:将爬虫程序伪装为浏览器客户端身份进行访问请求。(用于解决服务器端检测用户身份标识的问题)
# UA:user-agent:请求客户端的身份标识
headers={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'
}
params={
'query':keyword
}
url='https://www.sogou.com/web'
response=requests.get(url=url,params=params,headers=headers)
page_text=response.text
filename= './爬虫/day1/'+keyword+'.html'
with open (filename,'w',encoding='utf-8') as fp:
fp.write(page_text)
print('数据爬取成功!')
import requests
import json
##局部页面刷新:ajax请求,当页面刷新的时候,只更新局部的数据。ajax请求发售和接收成功之后,对局部的数据进行刷新。
# Ajax捕获:F12-网络-Fetch/xhr ,通过查看xhr类型data数据可以得到对应的Ajax响应数据。
# Ajax请求是一种post请求(携带了参数),响应数据为一组json数据
if __name__ == "__main__":
post_url="https://fanyi.baidu.com/sug"
data={
"kw":"dog"
}
headers={
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.39'
}
response=requests.post(url=post_url,data=data,headers=headers)
#获取响应数据:json()方法返回的是obj(如果确认响应数据是json类型,才使用json()方法返回)
page_json=response.json()
# print(page_json)
fp=open('./爬虫/day1/dog.json','w',encoding='utf-8')
json.dump(page_json,fp=fp,ensure_ascii=False)
print("数据爬取成功!")
import json
import requests
if __name__ == "__main__":
#指定ajax-get请求的url
url = 'https://movie.douban.com/j/chart/top_list'
#定制请求头信息,相关的头信息必须封装在字典结构中
headers = {
#定制请求头中的User-Agent参数,当然也可以定制请求头中其他的参数
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.39',
}
#定制get请求携带的参数
param = {
'type':'24',
'interval_id':'100:90',
'action':'',
'start':'0',
'limit':'20'
}
#发起get请求,获取响应对象
response = requests.get(url=url,headers=headers,params=param)
#获取响应内容:响应内容为json串
list_data=response.json()
fp=open('./爬虫/day1/豆瓣.json','w',encoding='utf-8')
json.dump(list_data,fp=fp,ensure_ascii=False)
import requests
if __name__ =="__main__":
url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx'
headers={
"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36 Edg/100.0.1185.39'
}
param={
'op':'keyword',
}
data={
'cname': '上海',
'pid':'',
'keyword': '上海',
'pageIndex': '1',
'pageSize': '10',
}
response=requests.post(url=url,params=param,headers=headers,data=data)
file_text=response.text
with open('./爬虫/day1/肯德基.txt','w',encoding='utf-8') as fp:
fp.write(file_text)
print('成功寫入!')
以上是脚本宝典为你收集整理的python爬虫-requests模块(路飞学城)全部内容,希望文章能够帮你解决python爬虫-requests模块(路飞学城)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。