10- python 网络爬虫分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10- python 网络爬虫分析相关的知识,希望对你有一定的参考价值。

Python 网络爬虫简单分析


1 import urllib2
2 response = urllib2.urlopen("http://www.baidu.com")
3 print response.read()

我们下面开始分析代码

response = urllib2.urlopen("http://www.baidu.com")

这里我们利用的是urllib2库中的urlopen方法,这里可以知道这是一个http协议的网址,urlopen一般接受三个参数,它的参数如下:

urlopen(url, data, timeout)

第一个参数url即为URL,第二个参数data是访问URL时要传送的数据,第三个timeout是设置超时时间。

第二三个参数是可以不传送的,data默认为空None,timeout默认为 socket._GLOBAL_DEFAULT_TIMEOUT

第一个参数URL是必须要传送的,这里我们传送了百度的URL,执行urlopen方法之后,返回一个response对象,返回信息便保存在这里面。

print response.read()

response对象有一个read方法,可以返回获取到的网页内容。

如果不加read直接打印会是什么?答案如下:

<addinfourl at 40798248 whose fp = <socket._fileobject object at 0x029A29B0>> 

这里如果不加read方法的话,打印出来的就是对该对象的描述。

其实上面的urlopen是可以传入request请求的

上面是一个简单的获取网络信息的一个爬虫例子。

 

下面是一个简单的糗事百科爬虫的脚本,来练习下库的使用。

 8 import urllib
 9 import re
10 
11 head = 0
12 n = 1
13 while n < 10:
14     page = n
15     url = http://www.qiushimm.com/page/ + str(page)
16     def getHtml(url):
17         page = urllib.urlopen(url)
18         html = page.read()
19         return html
20 
21     def getImg(html):
22         reg = rsrc="(.+?\.jpg)"
23         imgre = re.compile(reg)
24         imglist = re.findall(imgre,html)
25         x = head
26         for imgurl in imglist:
27             urllib.urlretrieve(imgurl,%s.jpg % x)
28             x+=1
29     html = getHtml(url)
30     print getImg(html)
31     n = n+1
32     head = head + 10

 

以上是关于10- python 网络爬虫分析的主要内容,如果未能解决你的问题,请参考以下文章

scrapy主动退出爬虫的代码片段(python3)

Python网络爬虫课程设计

大数据实战课程第一季Python基础和网络爬虫数据分析

大数据实战课程第一季Python基础和网络爬虫数据分析

网络爬虫简单介绍(python)

Python3网络爬虫开发实战 分析Ajax爬取今日头条街拍美图