urllib

post get 请求 headers注释哪些

一笑奈何 提交于 2020-02-15 04:54:40
post和get #post请求fomdata=urllib.parse.urlencode(fomdata).encode() request=urllib.request.Request(url=url,headers=headers) response=urllib.request.urlopen(request,fomdata) print(response.read().decode()) #get请求 formdata=urllib.parse.urlencode(formdata) url=url+formdata request=urllib.request.Request(url=url,headers=headers) response=urllib.request.urlopen(request) print(response.read().decode()) headers headers={ # ':authority': 'fanyi.baidu.com', # ':method':'POST' , # ':path': '/v2transapi', # ':scheme': 'https', # 'accept':' */*', # 'accept-encoding': 'gzip, deflate, br', 'accept-language':

python标准库简介

不羁的心 提交于 2020-02-14 20:45:26
python标准库简介 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata:Unicode字符数据库 stringprep:互联网字符串准备工具 readline:GNU按行读取接口 rlcompleter:GNU按行读取的实现函数 二进制数据 struct:将字节解析为打包的二进制数据 codecs:注册表与基类的编解码器 数据类型 datetime:基于日期与时间工具 calendar:通用月份函数 collections:容器数据类型 collections.abc:容器虚基类 heapq:堆队列算法 bisect:数组二分算法 array:高效数值数组 weakref:弱引用 types:内置类型的动态创建与命名 copy:浅拷贝与深拷贝 pprint:格式化输出 reprlib:交替repr() 的实现 数学 numbers:数值的虚基类 math:数学函数 cmath:复数的数学函数 decimal:定点数与浮点数计算 fractions:有理数 random:生成伪随机数 函数式编程 itertools:为高效循环生成迭代器 functools:可调用对象上的高阶函数与操作 operator:针对函数的标准操作 文件与目录 os.path:通用路径名控制 fileinput

Python - Http Get Post请求

北战南征 提交于 2020-02-12 04:27:05
urllib GET f=urllib.urlopen("http://m.cnblogs.com/") s=f.read() print s 带参数 params = urllib.urlencode({'id': 8, 'name': 'jack', 'age': 25}) f = urllib.urlopen("http://localhost:18797/MailClient/test.aspx?%s" % params) print f.read() POST params = urllib.urlencode({'id': 8, 'name': 'jack', 'age': 25}) f = urllib.urlopen("http://localhost:18797/MailClient/test.aspx",params) print f.read() 函数原型 urllib.urlopen(url[, data[, proxies]]) urllib2 可以详细的定义header参数 httplib 最底层更灵活更强大的http请求和响应 来源: https://www.cnblogs.com/chy710/archive/2013/02/19/2917273.html

爬虫基础 || 1.1 urllib 基础介绍

北城余情 提交于 2020-02-11 16:58:50
疫情爆发的第20天,在家办公,比较闲。 曾经作为一名爬虫工程师,已经一年多没写过爬虫了,这几天翻了翻资料和崔老师的《网络爬虫开发》,对爬虫做一次复习,顺便写下这篇学习笔记,慢慢更新,欢迎大家交流学习~~ 这篇写的是爬虫基础库urllib的一下基础知识。他包含下面四个主类。 =========================================================================== 1.request:它是最基本的 HTTP 请求模块,可以用来模拟发送请求。 就像在浏览器里输入网挝 然后回车一样,只需要给库方法传入 URL 以及额外的参数,就可以模拟实现这个过程了。 2.error: 异常处理模块,如果出现请求错误, 我们可以捕获这些异常,然后进行重试或其他操 作以保证程序不会意外终止。 3.parse: 一个工具模块,提供了许多 URL 处理方法,比如拆分、解析、 合并等。 4.robotparser:主要是用来识别网站的robots.txt 文件,然后判断哪些网站可以爬,哪些网站不可以爬,它其实用得比较少。 =========================================================================== 接下来开始介绍request 1.1.1 发送请求 urlopen()

爬虫_chap1网络请求

蓝咒 提交于 2020-02-06 05:29:35
文章目录 爬虫_chap1网络请求 01.前奏 准备工具: 通用/聚焦 02.http和https协议: url详解:scheme,host,port,path,query-string,anchor 常用的请求方法:get获取, post上传 请求头header常见参数:user-angent,referer,cookie 常见响应状态码: 03.urllib库 urlopen函数:得到response,默认请求get,设置data成为post urlretrieve函数:下载到本地 urlencode函数:把字典数据转换为`URL`编码的数据 parse_qs函数:解码 urlparse和urlsplit:分割组分为scheme,netloc,path,query,params等 request.Request类:用自定义请求头发送请求(request.urlopen) 内涵段子爬虫实战作业: ProxyHandler处理器(代理设置):用自定义opener来使用代理 什么是cookie: cookie的格式: 使用cookielib库和HTTPCookieProcessor模拟登录: http.cookiejar`模块`: 登录人人网: 保存cookie到本地: 从本地加载cookie: 04.requests库 安装和文档地址: 发送GET请求: 发送POST请求:

Python学习2

主宰稳场 提交于 2020-02-05 02:38:52
1、爬虫知识(0204隐藏) import urllib.request import random url=‘http://www.whatismyip.com.tw’ iplist=[‘115.239.24.140:9999’,‘119.6.144.73:81’,‘183.203.208.166:8118’] proxy_support=urllib.request.ProxyHandler({‘http’:random.choice(iplist)}) opener=urllib.request.build_opener(proxy_support) opener.addheaders=[{‘User-Agent’,‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36’}] urllib.request.install_opener(opener) response=urllib.request.urlopen(url) html=response.read().decode(‘utf.8’) print(html) 来源: CSDN 作者: 爱吃爱困爱生活、 链接: https://blog

How to make api call that requires login in web2py?

左心房为你撑大大i 提交于 2020-02-02 14:52:47
问题 I want to access APIs from application. Those APIs has decorator @auth.requires_login() . I am calling api from controller using demo_app/controllers/plugin_task/task url = request.env.http_origin + URL('api', 'bind_task') page = urllib2.Request(url) page.add_header('cookie', request.env.http_cookie) response = urllib2.urlopen(page) Demo API api.py @auth.requires_login() @request.restful() def bind_task(): response.view = 'generic.json' return dict(GET=_bind_task) def _bind_task(**get_params)

urllib的使用和进阶

ぐ巨炮叔叔 提交于 2020-02-01 20:56:22
  urllib是python中常用的一个基本库,以后的许多库包括一些框架如Scrapy都是建立在这个库的基础上的。在urllib中,为用户提供了一系列用于操作URL的功能,其提供的功能主要就是利用程序去执行各种HTTP请求。这当中,最常使用的就是urllib.request模块中的urlopen。   如果要模拟浏览器完成特定功能,需要把请求伪装成浏览器。伪装的方法是先监控浏览器发出的请求,再根据浏览器的请求头来伪装, User-Agent 头就是用来标识浏览器的。   官方给出的方法原型是这样的: def urlopen(url, data=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, *, cafile=None, capath=None, cadefault=False, context=None):   一般常用的为以下三个部分:   url: 需要打开的网址   data:Post提交的数据   timeout:设置网站的访问超时时间   但是urlopen也有很大的缺陷,就是他没有办法进行对爬虫进行伪装,也就是无法设置请求头,这就需要urllib中的另外一个库——request,request库提供了对于请求头的使用,用来进行对爬虫的伪装,一般来说,我们会设置几个不同的Headers来进行伪装,用来改变为不同的用户

urllib的使用

霸气de小男生 提交于 2020-02-01 18:12:13
urllib的使用 1. response = urllib.request.urlopen(url, [data=None, timeout=...]) url: 请求的url data: 请求的data, 如果设置了这个值,那么将变成post请求 response返回值:返回值是一个 http.client.HTTPResponse 对象,这个对象是一个类文件句柄对象, 有如下方法: read([size]): 读取指定字节大小的数据,默认为读取全部内容 readline(): 读取一行 readlines(): 一交读取一行,直到读取完所有数据,返回一个列表 getcode(): 响应状态码 from urllib import request response = request.urlopen('http://httpbin.org/get') # response.read(1024) # 读取全部 # response.readline() # 读取一行 # print(type(response)) print(response.readlines()) # 读取多行 print(response.getcode()) [b'{\n', b' "args": {}, \n', b' "headers": {\n', b' "Accept-Encoding":

python爬虫(二)

荒凉一梦 提交于 2020-02-01 14:26:31
16正则表达式函数 re.match() re.search() re.sub() 1.re.match()函数 相比于search匹配,match只能从开头开始匹配 import re # +的使用和*的使用, string = 'thonyjsdkajsdpoy' pat = 'p.*y' result = re . match ( pat , string , re . I ) #模式修正符,忽略大小写 print ( result ) 结果是匹配不到的,因为开头没有匹配到,后面出现也不行 None 2.re.conpile()函数 格式re.compile(‘正则表达式’).findall(‘所有数据’) import re # +的使用和*的使用, string = 'thpnyjsdpooooykajsdpoy' pat = 'p.*?y' result = re . compile ( pat ) . findall ( string ) print ( result ) 最后,result变成了一个列表 [ 'pny' , 'pooooy' , 'poy' ] 17常见正则实例讲解 #实例1:匹配.com 和.cn网址 string=" < a href=‘http://www.baidu.com ’ >百度首页< /a>’ " import re # +的使用和