|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
刚学不久,写了一个小程序,爬这个网站的图片。
代码可以正常运行,但是我储存的图片,就始终是3.4KB,而且都打不开。
不知道是什么原因,我觉得读写代码那里没写错。
请大佬们看看。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests,urllib
import os, re
#伪装成浏览器
head = {'ser-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36 Maxthon/5.1.3.2000'}
zurl = []
def urljx(url):#解析模块
req = requests.get(url,headers=head)#输入网址
print ('正在访问页面'+str(url))
req.encoding = req.apparent_encoding#打开网址,解析网址。
return req
def getziurl(req):
p = re.compile(r'<a target=\'_blank\' href="(.*?\.html)"><img src="')#r转义符
q = p.findall(req.text)
for i in q:
zurl.append(i)
print ('获取到'+str(len(q))+'个相册')
imgCount = 1#图片计数器
def saveImge(url):
global imgCount
#获取图片url的正则表达式
p = re.compile(r'src="(.*?\.jpg)" /><')
imgList = p.findall(url.text)
for each in imgList:
print (each)
q = requests.get(each).content
with open(str(imgCount) + '.jpg','wb') as f:
f.write(q)
print('**********目前已成功获取%d张图片!' % imgCount)
imgCount += 1
else:
print('**********当前页面获取失败!')
def work():
if not os.path.isdir('妹子全网图'):
os.mkdir('妹子全网图')
os.chdir('妹子全网图')
xweb = ['http://www.meizitu.com/']
for i in range(1,73):
web = ('http://www.meizitu.com/a/more_'+str(i)+'.html')
xweb.append(web)
for url in xweb:
getziurl(urljx(url))
for i in zurl:
saveImge(urljx(i))
work()
丫的,捣鼓了很久。。。
网页一直403,我就莫名悲伤妹子图以后是不是也不能爬了
原来是你header设错了
'ser-Agent' 少了个U!!
是'User-Agent'!!!
|
|