首页 > 编程语言 >使用python中urllib.request.Request()来构建ua

使用python中urllib.request.Request()来构建ua

时间:2022-11-22 11:02:54浏览次数:38  
标签:headers python request Request urllib url 537.36 data

1.代码案例=构建http请求头

#coding=utf-8
import urllib.request
import urllib.parse
url = "http://www.baidu.com/"
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
};

request = urllib.request.Request(url=url,headers=headers);
response = urllib.request.urlopen(request);
print(response.read().decode());

 2.代码案例=使用post请求调用百度接口

#使用post调用百度翻译接口
#coding=utf-8
import urllib.request
import urllib.parse
word="china";
post_url = "https://fanyi.baidu.com/sug";
form_data={
'kw': word
};
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
};
request = urllib.request.Request(post_url,headers);
form_data = urllib.parse.urlencode(form_data).encode();
response = urllib.request.urlopen(request,form_data);
print(response.read().decode());

 3.使用百度翻译接口案例

#coding=utf-8
import urllib.request
import urllib.parse
form_data={
'kw': 'wolf',
};
post_url = "https://fanyi.baidu.com/sug";
headers = {
'Host': 'fanyi.baidu.com',
'Connection': 'keep-alive',
'Pragma': 'no-cache',
'Cache-Control': 'no-cache',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Origin': 'https://fanyi.baidu.com',
'X-Requested-With': 'XMLHttpRequest',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'Referer': 'https://fanyi.baidu.com/translate?aldtype=16047&query=&keyfrom=baidu&smartresult=dict&lang=auto2zh',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,und;q=0.7',
'Cookie': 'BAIDUID=78CF95260BCDB8D770F51009AABFDD42:FG=1; BIDUPSID=78CF95260BCDB8D770F51009AABFDD42; PSTM=1585656674; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=31356_1447_21097_31425_31341_31464_30824_26350_31164_31472_22158; delPer=0; PSINO=3; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1588584480,1588693180; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1588693180; __yjsv5_shitong=1.0_7_5362048e36179917959b4ef57e3e3a96d953_300_1588693181749_111.196.240.198_f74edd74; yjs_js_security_passport=607757242e95a02e997e4fc526bc95ce8671c676_1588693182_js',
}
request = urllib.request.Request(post_url,headers);
form_data = urllib.parse.urlencode(form_data).encode();
response = urllib.request.urlopen(post_url,form_data);
print(response.read().decode());

 4.使用肯德基接口获取肯德基

#coding=utf8
import urllib.request
import urllib.parse
post_data={
'cname':'',
'pid':'',
'keyword': '北京',
'pageIndex': '1',
'pageSize': '10',
};
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
url = "http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=keyword";
post_data = urllib.parse.urlencode(post_data).encode();
request = urllib.request.Request(url,headers);
response = urllib.request.urlopen(request,post_data);
print(response.read().decode());

 5.使用python爬取百度贴吧案例

#coding=utf8
#使用python爬取百度贴吧内容练习
import urllib.request
import urllib.parse
import os
import time
url = "https://tieba.baidu.com/f?";
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
};
flod="./baiduba";
if not os.path.exists(flod):
os.mkdir(flod);
for page in range(1,4):
pn = (page-1) * 50;
data={
"kw" : "python",
"ie" : "utf-8",
"pn" : pn,
};
print("第"+str(page)+ "开始下载...");
query_string = urllib.parse.urlencode(data);
url_info = url+query_string;
request = urllib.request.Request(url=url,headers=headers);
response = urllib.request.urlopen(request);
filename = "python_"+str(page)+".html";
filepath = flod+"/"+filename;
with open(filepath,"wb") as fp:
fp.write(response.read());
print("第"+str(page)+ "结束下载...");
time.sleep(3);

 

标签:headers,python,request,Request,urllib,url,537.36,data
From: https://blog.51cto.com/u_11635800/5877057

相关文章

  • python使用httpHandler处理请求案例
    #coding=utf-8#HTTPHandler&opener#更高级一些功能,可以高仿模拟浏览器importurllib.requestimporturllib.parseurl="https://www.baidu.com/";handler=urllib.requ......
  • python中urllib.request对象案例
    刚刚接触爬虫,基础的东西得时时回顾才行,这么全面的帖子无论如何也得厚着脸皮转过来啊!什么是Urllib库?urllib库是 ​​Python​​ 内置的HTTP请求库。urllib模块提供......
  • 用 python 和 java 实现线性代数计算(1)—— 矩阵基本操作
    参考:《机器学习算法框架实战:Java和Python实现》python实现主要是调用NumPy库做的;java实现基本没有调库文章目录​​1.说明​​​​1.1程序组织​​​​1.2数据结构​​......
  • 极客编程python入门-切片
    切片取一个list或tuple的部分元素是非常常见的操作。>>>L=['Michael','Sarah','Tracy','Bob','Jack']>>>[L[0],L[1],L[2]]['Michael','Sarah','Tracy']Python提......
  • Python使用自带venv创建虚拟环境
    Python使用自带venv创建虚拟环境创建虚拟环境目录mkdirvirtaulenvpython-mvenvvirtualenv启动虚拟环境sourcevirtualenv/bin/activate退出虚拟环境de......
  • python三十八期--
    上周内容回顾同步与异步任务的提交方式 同步 任务提交之后原地等待任务的结果期间不做任何事 异步 任务提交之后不原地等待任务的结果(异步回调机制)阻......
  • 【Python】for-in循环、while循环
    1.for-in循环适合用于知道循环次数的场景。计算1~100求和的结果sum=0forxinrange(101):sum+=xprint(sum)range的用法range(101):产生0~100范围的整数,......
  • python几种解释器
    Python有好几种版本的解释器:CPython:官方版本的解释器。这个解释器是用C语言开发的,所以叫CPython。CPython是使用最广的Python解释器。我们通常说的、下载的、讨论的、......
  • python flask实战订餐系统微信小程序-59flask部署单进程启动服务
    欢迎关注原创Python微信订餐小程序课程视频Python实战量化交易理财系统​​python​​​​flask​​实战订餐系统微信小程序-60nginx+uwsgi实现多进程访问​​​B站配套......
  • flask 自动换背景,使用python获取bing每日壁纸当作登陆背景图片
    欢迎关注原创视频教程Python微信订餐小程序课程视频Python实战量化交易理财系统背景我的博客登陆背景图就是调用的bing接口来实现的,每天自动换背景,很是华丽,但是从网上找的几......