请问下面这个python3.5下的爬虫程序有什么错误,为什么运行正常 但是不爬取图片?
环境:OS X EI 10.11.4
python3.5
import socket
import re
import os
import sys
targetDir = r".\" # 当前目录下
def destFile(path):
if not os.path.isdir(targetDir):
os.mkdir(targetDir)
pos = path.rindex('/')
t = os.path.join(targetDir,pos[pos+1])
return t
if __name__ == '__main__': # 程序运行入口
weburl = 'http://www.douban.com'
webheaders = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:43.0) Gecko/20100101 Firefox/43.0'}
req = urllib.request.Request(url=weburl,headers=webheaders) #构造请求报头
webpage = urllib.request.urlopen(req) #发送请求报头
contentBytes = webpage.read()
for link,t in set(re.findall(r'(http:[^\s]*?(jpg|png|gif))',str(contentBytes))): #正则表达式查找所有的图片
print(link)
try:
urllib.request.urlretrieve(link,destFile(link)) #下载图片
except:
print('失败') #异常抛出
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正则表达式写错了
https://([^\s]+)\.(jpg|png|gif)
协议是https的另外bytes到str应该用decode()而不是str()