首页 编程教程正文

爬取图怪兽某模块图片(带思路)

piaodoo 编程教程 2020-02-22 22:13:00 1424 0 python教程

本文来源吾爱破解论坛

今天是学爬虫的第三天,爬图片,整个快一天,自己琢磨,体验这个过程,虽然慢,但是在前进本来是想爬千图网的,但是千图网为了防止反爬加了必须登录,如果用cookie去搞它肯定能搞死它,but我还没学到那边,于是我随便从里面点了一个网站名字叫图怪兽

QQ截图20190716150522.png (672.32 KB, 下载次数: 1)

下载附件  保存到相册

2019-7-16 15:05 上传


因为他是个在线编辑的网站,所以我直接点击大图,或者复制链接会转跳到他的在线编辑器那边,他的在线编辑器里面用了js修改了一下右键,所以这一路肯定是行不通的了换一条路,回到首页,发现大图那行的小字居然也有链接点进去

QQ截图20190716150931.png (318 KB, 下载次数: 0)

下载附件  保存到相册

2019-7-16 15:09 上传

QQ截图20190716150944.png (377.2 KB, 下载次数: 1)

下载附件  保存到相册

2019-7-16 15:10 上传


奈斯,找到地址了,现在来分析他大图 的url
https://818ps.com/detail/2006904.html?route_id=15632584565688&route=3,2&after_route=3_2
https://818ps.com/detail/2007106.html?route_id=15632584565688&route=3,2&after_route=3_2
https://818ps.com/detail/1948497.html?route_id=15632584565688&route=3,2&after_route=3_2
很明显就是黄色的地方不一样,现在去首页康康,源码里面有没有这些值

QQ截图20190716151625.png (87.2 KB, 下载次数: 0)

下载附件  保存到相册

2019-7-16 15:16 上传

有两个,现在可以写正则表达式了"/detail/(.*?).html"括号里面是我们要的内容
接下来就re.compile().findall()过滤出首页所以的链接,又因为源码中存在两个所以我们要set一下去重复在list一下
接下来就拼接我们的url做个循环打开每一个链接,在做个循环把链接的图片全下载下来这样我们就得到了第一页所以图片了。想要该模块的全部照片,只需要在外面添加个循环,去爬每一页
下面是代码:
import urllib.request
import re
for a in range(0,10):
    fl_url = "https://818ps.com/search/0-0-0-0-0-null-31_1_0-0-0/" + str(a) + ".html?route_id=15632576994043&route=3,&after_route=3&per-page=36"
    data = urllib.request.urlopen(fl_url).read().decode("utf-8","ignore")
    tj = "/detail/(.*?).html"
    p = re.compile(tj).findall(data)
    p = list(set(p))
    try:
        for i in range(len(p)):
            free = str(p)
            new_url = "https://818ps.com/detail/" + free + ".html"
            new_data = urllib.request.urlopen(new_url).read().decode("utf-8","ignore")
            new_tj = 'https://img.tuguaishou.com/ips_templ_preview/(.*?)"'
            q = re.compile(new_tj).findall(new_data)
            for j in range(len(q)):
                tup_url = "https://img.tuguaishou.com/ips_templ_preview/" + str(q[j])
                file = "F:/bing/a/" + str(a) +str(i) + str(j) + ".jpg"
                print("正在下载编号:" + str(a) + str(i) + str(j))
                urllib.request.urlretrieve(tup_url,filename=file)
                print("下载完成")
    except urllib.error.URLError as e:
            if hasattr(e, 'code'):
                print(e.code)
            if hasattr(e, "reason"):
                print(e.reason)

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7826.html

搜索