|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import urllib.request
- import os
- def url_open(url):
- req = urllib.request.Request(url)
- req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36')
- response = urllib.request.urlopen(url)
- html = response.read()
- return html
- def getpage(url):
- # req = urllib.request.Request(url)
- # req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36')
- # response = urllib.request.urlopen(req)
- html = url_open(url).decode('utf-8')
- a = html.find('current-comment-page') + 23
- b = html.find(']', a)
- print(url)
- return html[a:b]
- def findimg(url):
- html = url_open(url).decode('utf-8')
- imgaddress = []
- a = html.find('img src=')
- while a != -1:
- b = html.find('.jpg', a, a+255)
- if b != -1:
- imgaddress.append(html[a+9:b+4])
- else:
- b = a + 9
- a = html.find('img src=', b)
- for each in imgaddress:
- print(each)
- def saveimg(folder, imgaddress):
- for each in imgaddress:
- # each = 'http://' + each
- filename = each.split('/')[-1]
- with open(filename, 'wb') as f:
- img = url_open(each)
- f.write(img)
- def downloadmm(folder='picture', pages=10):
- os.mkdir(folder)
- os.chdir(folder)
- url = 'http://jandan.net/ooxx/'
- pagenum = int(getpage(url))
- for i in range(pages):
- pagenum -= i
- pageurl = url + 'page-' + str(pagenum) + '#comments'
- imgaddress = findimg(pageurl)
- saveimg(folder, imgaddress)
- if __name__ == '__main__':
- downloadmm()
复制代码
不能爬取图片,在 for each in imgaddress:这个语句中会出现下面的错误
TypeError: 'NoneType' object is not iterable。
各位大佬知道怎么办嘛
|
|