您的位置:首页 > 编程语言 > Python开发

Python之抓取动态网页

2015-12-24 15:04 549 查看
python之抓取花瓣网图片

实现方法:

1,创建一个文件夹。

2,模拟请求网络服务。

3,匹配抓取的图片。

4,保存。

#_*_coding:utf8_*_
import re
import os
import urllib,urllib2
import sys
reload(sys)
#创建保存图片文件夹
if(os.path.exists('保存图片文件的名称')==False:
os.mkdir('保存图片文件的名称')
#模拟请求
def img():
#打开抓取的网页源代码,可以看到pin_id
pin_id=网页中的数字
while pin_id !=None
url='打开网页的网址?'+str(pin_id)
try:
i_header={"User-Agent":"打开审查元素,切换到网络,可以看到此项内容,粘贴复制到这里。",、"Referer":'http://baidu.com/(其他浏览器)'}
zq=urllib2.Requests(url,headers=i_header
html=urllib2.urlopen(zq).read()
zqd=re.compile('"user_id":(.*?),.+?"file":{"farm":"farm1", "bucket":"hbimg",.+?"key":"(.*?)",.+?"type":"image/(.*?)"',re.S)
groups=re.findall(zqd,html)
print "start to catch"+str(len(groups))
for att in groups:
pin_id=att[0]
att_url = att[1] + '_fw236'
img_type = att[2]
img_url='http://img.hb.aicdn.com/'+att_url
if(urllib.urlretrieve(img_url,'保存图片的文件夹'+att_url+'.'+img_type)):
print 'download success'
else:
print 'downing fail'
except:
print 'Error'
img()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息