ooxx那里我换了一个网站但却出现了意想不到的结果
import urllib.requestimport os
def url_open(url):
req = urllib.request.Request(url)
req.add_header('user-agent', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 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
def find_imgs(url):
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.http:(html)
else:
b = a + 9
a = html.find('img src=', b)
for each in img_addrs:
print(each)
def save_imgs(folder,img_addrs):
pass
def download_mm( folder = 'girl', pages = 10):
os.mkdir(folder)
os.chdir (folder)
url = 'https://www.zxs51.com/mnxz/'
page_name = int(get_page(url))
for i in range(pages):
page_num = -i
page_url = url + 'page-' + str(page_num) + '#comment'
img_addrs = find_imgs(page_url)
save_imgs(folder,img_addrs)
if __name__ =='__main__':
download_mm()
运行结果
========== RESTART: /Users/nidelu/Desktop/python/给爷爬/爬虫4/妹子图.py/妹子图.py =========
https://www.zxs51.com/mnxz/
Traceback (most recent call last):
File "/Users/nidelu/Desktop/python/给爷爬/爬虫4/妹子图.py/妹子图.py", line 57, in <module>
download_mm()
File "/Users/nidelu/Desktop/python/给爷爬/爬虫4/妹子图.py/妹子图.py", line 48, in download_mm
page_name = int(get_page(url))
ValueError: invalid literal for int() with base 10: ' lang="zh-CN">\r\n<head>\r\n<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r\n<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable
请问这是怎么回事 网站还可以随便换吗,对于不同网站,爬虫代码都是不相同的 不同的网站规则和规律不同,最近我也学到这,现在的网站源代码和之前都不一样了,得学新知识才能比较方便地爬了。 挖槽,哥们你这网站。。。 注意保护视力哈 本帖最后由 白two 于 2021-8-5 18:51 编辑
网站都是静态的,直接看源码
1页面分析:
1.1翻页:
https://www.zxs51.com/mnxz/ #第1页
https://www.zxs51.com/mnxz/page/2/ #第二页
https://www.zxs51.com/mnxz/page/3/ #第三页
结论:url = https://www.zxs51.com/mnxz/page/ + page + /
1.2定位每一页图片集的网址:
<a class="item-img" title="木花琳琳是勇者:洗澡" href="https://www.zxs51.com/171.html" rel="nofollow"> #第一个
<a class="item-img" title="浴室里的小 萝 莉" href="https://www.zxs51.com/170.html" rel="nofollow"> #第二个
结论:<a class="item-img" title="图片集名称" href="我们需要的网址" rel="nofollow">
每一个图片集的url就找到上面的字符串匹配里面的网址即可
1.3定位每一张图片的网址:
<img src="https://www.zxs51.com/wp-content/uploads/2021/05/20210501193450524.jpg"title="木花琳琳是勇者:洗澡"alt="木花琳琳是勇者:洗澡 美女写真"/> #第一张
<img src="https://www.zxs51.com/wp-content/uploads/2021/05/20210501193450567.jpg"title="木花琳琳是勇者:洗澡"alt="木花琳琳是勇者:洗澡 美女写真"/> #第二张
结论:<img src="我们需要的图片网址"title="每个图片集的名字"alt="每个图片集的名字 美女写真"/>
匹配到上面字符串里面的图片网址即可
所以你需要改的地方:
1.每一页网址的地址
2.要加一个每一页里面每个图片集的地址(可以存列表里面循环遍历)
3.每张图片的地址(可以存列表里面循环遍历)
哎,你这网站有点东西,注意点身体
可以去学一下xpath,这样页面分析会稍微简单一点
你先试着自己改一改代码,这样分析完应该不难了
页:
[1]