|
20鱼币
本帖最后由 wow7jiao 于 2018-1-22 21:53 编辑
请问是不是煎鸡蛋加了反爬虫,把jandan.net/ooxx/page-82#comments前面的http://去掉料.所以Request无法解析??
- 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.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36')
- response = urllib.request.urlopen(req)
- html = response.read()
- print(url)
- return html
- def get_page(url):
- html = url_open(url).decode('utf-8')
- a = html.find('current-comment-page') + 23
- b = html.find(']', a)
- return html[a:b]
-
- def find_imgs(url):
- url = url[7:]
-
- html = url_open(url).decode('utf-8')
- img_addrs = []
- a = html.find('img src=')
-
- while a != -1:
- b = html.find('.jpg', a, a+255)
- if b != -1:
- img_addrs.append(html[a+9:b+4])
- else:
- b = a + 9
- a = html.find('img src=', b)
- ##return img_addrs
- for each in img_addrs:
- print(each)
-
-
- def save_imgs(folder, img_addrs):
- pass
-
- def download_mm(folder='OOXX', pages=10):
- os.mkdir(folder)
- os.chdir(folder)
- url = "http://jandan.net/ooxx/"
- page_num = int(get_page(url))
- for i in range(pages):
- page_num -= 1
- page_url = url + 'page-' + str(page_num) + '#comments'
- ##print(page_url)
- img_addrs = find_imgs(page_url)
- save_imgs(folder, img_addrs)
- if __name__ == '__main__':
- download_mm()
复制代码
下面是出错提示:
>>>
= RESTART: C:\Users\Administrator\Desktop\056轮一只爬虫的自我修养4:OOXX\download_mm.py =
http://jandan.net/ooxx/
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\056轮一只爬虫的自我修养4:OOXX\download_mm.py", line 67, in <module>
download_mm()
File "C:\Users\Administrator\Desktop\056轮一只爬虫的自我修养4:OOXX\download_mm.py", line 61, in download_mm
img_addrs = find_imgs(page_url)
File "C:\Users\Administrator\Desktop\056轮一只爬虫的自我修养4:OOXX\download_mm.py", line 27, in find_imgs
html = url_open(url).decode('utf-8')
File "C:\Users\Administrator\Desktop\056轮一只爬虫的自我修养4:OOXX\download_mm.py", line 5, in url_open
req = urllib.request.Request(url)
File "D:\Python36\lib\urllib\request.py", line 329, in __init__
self.full_url = url
File "D:\Python36\lib\urllib\request.py", line 355, in full_url
self._parse()
File "D:\Python36\lib\urllib\request.py", line 384, in _parse
raise ValueError("unknown url type: %r" % self.full_url)
ValueError: unknown url type: 'jandan.net/ooxx/page-82#comments'
http://www.mzitu.com/ 网络有点卡,一直打错很抱歉
|
最佳答案
查看完整内容
http://www.mzitu.com/ 网络有点卡,一直打错很抱歉
|