美文网首页
urllib用法

urllib用法

作者: Alice丨殇 | 来源:发表于2018-12-23 19:29 被阅读0次

1.urllib.parse.urlencode()方法:

一般HTTP请求提交数据,需要编码成 URL编码格式,然后做为url的一部分,或者作为参数传到Request对象中.
这时可以使用urllib.parse模块下的urlencode()函数,帮我们将key:value这样的键值对转换"key=value"这样的字符串,解码工作可以使用urllib.parse的unquote()函数。

例如获取百度美女贴吧的url
import urllib.parse

url = "http://tieba.baidu.com/f?"
key = urllib.parse.urlencode({"kw" : "美女"})
url = url + key
组合后的url示例:http://tieba.baidu.com/f?kw=%E7%BE%8E%E5%A5%B3

2.urllib.request()

快速爬取一个网页

import urllib.request
url = 'http://www.baidu.com/'
response = urllib.request.urlopen(url)
html = response.read()
with open('baidu/baidu.html','w') as f:
f.write(html.decode())
f.close()

3.urllib高级用法一,自定义opener

基本的urlopen()方法不支持代理、cookie等其他的HTTP/HTTPS高级功能

简单的自定义opener()

import urllib.request
url = 'http://www.baidu.com'
https_handler = urllib.request.HTTPHandler()
opener = urllib.request.build_opener(https_handler)
request = urllib.request.Request(url=url)
response = opener.open(request)
content = response.read().decode()
with open('baidu.html','w') as f:
f.write(content)

4.urllib高级用法二,设置代理

基本原理: 代理实际上指的就是代理服务器,英文叫作proxy server,它的功能是代理网络用户去取得网络信息。形象地说,它是网络信息的中转站。在我们正常请求一个网站时,其实是发送了请求给Web服务器,Web服务器把响应传回给我们。如果设置了代理服务器,实际上就是在本机和服务器之间搭建了一个桥,此时本机不是直接向Web服务器发起请求,而是向代理服务器发出请求,请求会发送给代理服务器,然后由代理服务器再发送给Web服务器,接着由代理服务器再把Web服务器返回的响应转发给本机。这样我们同样可以正常访问网页,但这个过程中Web服务器识别出的真实IP就不再是我们本机的IP了,就成功实现了IP伪装,这就是代理的基本原理

import urllib.request
import urllib.parse

西刺免费代理IP:http://www.xicidaili.com/

快代理免费代理:https://www.kuaidaili.com/free/inha/

proxy = {
'http':'61.176.223.7:58822',
'https':'180.121.135.91:3128'
}
url = 'http://www.baidu.com'

创建处理代理的handler

proxyhandler = urllib.request.ProxyHandler(
proxies=proxy
)

创建一个opener

opener = urllib.request.build_opener(proxyhandler)

构造一个请求

request = urllib.request.Request(url=url)
response = opener.open(request)
content = response.read().decode()
with open('daili.html','w') as f:
f.write(content)

相关文章

  • urllib、requests的用法

    urllib用法 requests用法 一、什么是requests?requests是基于urllib的再一次封装...

  • python中urllib库的用法

    urllib urlopen()函数 urlretrieve函数用法 urlencode用法 Parse_qs用法...

  • urllib用法

    get 请求########## http://top.hengyan.com/dianji/default.as...

  • urllib用法

    简单方法 importurllib2 response = urllib2.urlopen("http://www...

  • urllib用法

    1.urllib.parse.urlencode()方法: 一般HTTP请求提交数据,需要编码成 URL编码格式,...

  • python3.6 urllib和requests简单用法

    python3.6 urllib简单用法,主要是想和requests做对比 1.urllib(自带) OUT: 2...

  • urllib的用法

    urllib的用法 什么是Urllib? Handler处理器 和 自定义Opener 简单的自定义opener(...

  • urllib的用法

    Urllib库是Python中的一个功能强大、用于操作URL,并在做爬虫的时候经常要用到的库。在我们爬取一个网页的...

  • urllib的用法

    Urllib库是Python中的一个功能强大、用于操作URL,并在做爬虫的时候经常要用到的库。在Python2.x...

  • urllib的用法

    什么是Urllib: Urllib是python内置的HTTP请求库 包括以下模块 urllib.request ...

网友评论

      本文标题:urllib用法

      本文链接:https://www.haomeiwen.com/subject/rlankqtx.html