IP代理软件,http代理,API提取-黑洞HTTP

黑洞HTTP

您的位置: 首页 > 新闻资讯 > HTTP代理 > 正文

ip代理详解:爬虫常用的这个库数据库urllib

发布时间:2019年03月21日 来源:http://http.hunbovps.com/News/getList/catid/8/id/169.html

urlib库为python3的HTTP内置请求库

urilib的四个模块:

urllib.request:用于获取网页的响应信息内容

urllib.error:异常处理模块,用于处理异常的模块

urllib.parse:用于解析url

urllib.robotparse:用于解析robots.txt,主要用于看哪些网站不能进行爬取,不过少用

1

urllib.request

urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,cadefault=False,context=None)

url:为请求网址

data:请求时需要发送的参数

timeout:超时设置,在该时间范围内返回请求信息内容就不会报错

示例代码:

ip代理详解:爬虫常用的这个库数据库urllib

能够使用上面的代码对某些网站进行请求了,但当需要某些反爬网站时,这就不行了,这时我们需要适当地增加请求头进行请求,这时就需要使用复杂一点的代码了,这时我们需要用到Request对象

代码示例:

ip代理详解:爬虫常用的这个库数据库urllib

这个我添加了请求头进行请求,使我发送的请求更加接近浏览器的行为。能够对应某些反爬网站了

假如网站需要进行登陆,这时需要用到post办法,用上面的也是能够的。代码如下:

ip代理详解:爬虫常用的这个库数据库urllib

这里我用到了data的参数把登陆需要的参数传进去,还加了个请求办法Method

parse.urlencode()后面有讲

这里还有另外一种添加请求头的办法

Request.add_header(): 参数有两个,分别为请求头对应的键和值,这种办法一次只能添加一个请求头,添加多个需要用到循环或者直接用前面的办法添加多个请求头

在登陆了网站之后,我们需要用到cookie来保存登陆信息,这时就需要获取cookie了。urllib获取cookie比较麻烦。

代码示例如下:

ip代理详解:爬虫常用的这个库数据库urllib

单纯地打印没什么用,我们需要把他存入文件来保存,下次使用时再次加载cookie来登陆

保存cookie为文件:

ip代理详解:爬虫常用的这个库数据库urllib

另一种保存办法:

ip代理详解:爬虫常用的这个库数据库urllib

这两种保存格式都是不一样的,需要保存的信息内容一样。

保存能够了,这时就需要用到加载了,当然也能够。代码如下:

ip代理详解:爬虫常用的这个库数据库urllib

这样就能够实现不用密码进行登陆了。

cookie小总结:在操作cookie时,都是分五步,如下:

进行导包,至关重要的一步,不导包直接出错。

获取cookie处理对象,使用cookiejar包

创建cookie处理器,使用request.HTTPCookieJarProcessor()

利用cookie处理器构建opener,使用request.build_opener()

进行请求网站,用opener.open(),这个不能用request.urlopen()

假如有时你在同一ip连续多次发送请求,会有被封ip的可能,这时我们还需要用到代理ip进行爬取,代码如下:

ip代理详解:爬虫常用的这个库数据库urllib

能够看到越复杂的请求都需要用到request.build_opener(),这个办法有点重要,请记住哈

2

urllib.error

将上面的使用代理ip的请求进行异常处理,如下:

ip代理详解:爬虫常用的这个库数据库urllib

因为有时这个ip或许也被封了,有可能会抛出异常,所以我们为了让程序运行下去进而进行捕捉程序

error.URLError: 这个是url的某些问题,这个异常只有一个reason属性

error.HTTPError:这个是error.URLError的子类,所以在与上面的混合使用时需要将这个异常放到前面,这个异常是某些请求错误,有三个办法,.reason(), .code(), .headers(),所以在捕捉异常时通常先使用这个

3

urllib.parse

解析url:urllib.parse.urlparse(url, scheme='', allow_fragments=True)

简单的使用:

ip代理详解:爬虫常用的这个库数据库urllib

能够看出加了scheme参数和没加的返回结果是有区别的。而当scheme协议加了,而前面的url也包含协议,一般会忽略后面的scheme参数

既然后解析url,那当然也有反解析url,就是把元素串连成一个url

ip代理详解:爬虫常用的这个库数据库urllib

urlparse()接收一个列表的参数,而且列表的长度是有要求的,是必须六个参数以上,要不会抛出异常

ip代理详解:爬虫常用的这个库数据库urllib

urllib.parse.urljoin():这个是将第二个参数的url缺少的部分用第一个参数的url补齐

ip代理详解:爬虫常用的这个库数据库urllib

urllib.parse.urlencode():这个办法是将字典类型的参数转为请求为get方式的字符串

ip代理详解:爬虫常用的这个库数据库urllib


相关文章内容简介

1 ip代理详解:爬虫常用的这个库数据库urllib

urlib库为python3的HTTP内置请求库urilib的四个模块:urllib.request:用于获取网页的响应信息内容urllib.error:异常处理模块,用于处理异常的模块urllib.parse:用于解析urlurllib.robotparse:用于解析robots.txt,主要用于看哪些网站不能进行爬取,不过少用1urllib.requesturllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,cadefault=False,context=None)url:为请求网址data:请求时需要发送的参数timeout:超时设置,在该时间范围内返回请求信息内容就不会报错示例代码:能够使用上面的代码对某些网站进行请求了,但当需要某些反爬网站时,这就不行了,这时我们需要适当地增加请求头进行请求,这时就需要使用复杂一 [阅读全文]

热门标签

最新标签

推荐阅读

  1. 10

    2019-09

    HTTP代理IP比手动换IP软件方便

    HTTP代理IP软件大家都不陌生了,对于很多网络工作人员来说是必不可少的工具,提升了很多工作效率。但是很多人还是对HTTP代理IP软件不是很了解,还有很多人认为手动切换IP也很好,并不相信

  2. 24

    2019-04

    如何爬取酷狗音乐的榜单信息

    今天我们就来看下,爬虫是如何爬取酷狗音乐的榜单信息的。首先我们先打开目标网页,即酷狗音乐的TOP500榜单页面,查看源代码分析页面,我们会发现,在ul标签下有li这个标签,这里面的内

  3. 09

    2019-07

    怎么找到西安的代理IP?

    不知道大家发现没有,在浏览某些网站或者论坛是可以清清楚楚的看到自己的IP地址,显然你已经被”记录在案”了.不仅如此,有些比较懂电脑的朋友也可以通过QQ等聊天通讯软件看到你的IP地址,

  4. 27

    2019-09

    使用代理IP访问淘宝

    淘宝网是亚太地区较大的综合类C2C网上购物平台,目前拥有注册会员数以亿计,各类店铺成千上万。那么这么多店铺,这么多商品,它们是以什么方式排名呢?在这里为大家科普下,电商平台排

  5. 18

    2019-03

    IP代理:大数据到底从何而来?

    既然化零为整的大数据平台有这么多的优势,那么这个平台落到实处应该长什么样子呢?我们不妨更进一步来探讨一下这个问题。还记得之前我们谈到过大数据思维重视的是全量样本数据而不是

  6. 19

    2019-11

    nginx+tomcat简单反向代理ip

    正向代理:访问GG,此时肯定需要一个FQ,然后找到一个可以访问国外的一个代理,然后代理去访问GG,将数据传递给我们。这个时候代理做的位置就是正向代理,