首页 > 代码库 > 10- python 网络爬虫分析
10- python 网络爬虫分析
Python 网络爬虫简单分析
1 import urllib22 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 re10 11 head = 012 n = 113 while n < 10:14 page = n15 url = ‘http://www.qiushimm.com/page/‘ + str(page)16 def getHtml(url):17 page = urllib.urlopen(url)18 html = page.read()19 return html20 21 def getImg(html):22 reg = r‘src="http://www.mamicode.com/(.+?\.jpg)"‘23 imgre = re.compile(reg)24 imglist = re.findall(imgre,html)25 x = head26 for imgurl in imglist:27 urllib.urlretrieve(imgurl,‘%s.jpg‘ % x)28 x+=129 html = getHtml(url)30 print getImg(html)31 n = n+132 head = head + 10
10- python 网络爬虫分析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。