|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import urllib.request
- import os
- def open_imgs(url):
- #打开网页并转换成unicode编码
- request = urllib.request.Request(url)
- request.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36')
- response = urllib.request.urlopen(url)
- html = response.read()
- print(url)
- return html
-
- def get_pages(url):
- html= open_imgs(url).decode('utf-8')
- #开始查找位置元素
- a = html.find("current-comment-page")+ 23
- b = html.find("]",a)
- return (html[a:b])
-
- def find_imgs(url):
- html= open_imgs(url).decode('utf-8')
- imgs_list = []
- a = html.find("img src=")
- while a != -1:
- b = html.find('.jpg',a,a+255)
- if b!= -1:
- imgs_list.append(html[a:b+4])
- else:
- b = a + 9
- a = html.find("img src=",b)
- for each in imgs_list:
- print(each)
-
- def save_imgs(folder,imgs_addrs):
- pass
- def download(folder='xxoo',pages=10):
- os.mkdir(folder)
- os.chdir(folder)
- url = 'http://jandan.net/ooxx/'
- pages_num = int(get_pages(url))
-
- for each in range(pages_num):
- pages_num -= 1
- imgs_url = url + 'page-' + str(pages_num) + '#comments'
- imgs_addrs = find_imgs(imgs_url)
- save_imgs(folder,imgs_addrs)
- if __name__ =='__main__':
- download()
复制代码
save的函数还没写,程序也可以运行, 但是我发现在find函数中 爬出来的并不是图片的链接,而是一些其他的东西, 并且从get函数返回的位置元素,到给find函数的地址应该都没问题 所以,我就在find函数里面找错误
我把find函数给修改成了
- def find_imgs(url):
- html= open_imgs(url).decode('utf-8')
- imgs_list = []
- a = html.find("img src=")
- print(a)
- b = html.find('.jpg',a,a+255)
- print(b)
- imgs_list.append(html[a+9:b+4])
- print(imgs_list)
复制代码
发现在find函数中 a里面的 img src可以索引到并且返回索引值,但是b的索引值是-1, 可是明明在审查中就可以看到.jpg存在. 不知道是因为什么索引不到.jpg .
看了一大会也没看懂, 特地来请教
爬虫只能看到这些乱码。它看不到图片链接。
要通过js解码才能看到真实链接。
|
|