吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 15194|回复: 34
上一主题 下一主题
收起左侧

[Python 转载] 爬取图怪兽某模块图片(带思路)

  [复制链接]
跳转到指定楼层
楼主
liqi 发表于 2019-7-16 15:25 回帖奖励
今天是学爬虫的第三天,爬图片,整个快一天,自己琢磨,体验这个过程,虽然慢,但是在前进本来是想爬千图网的,但是千图网为了防止反爬加了必须登录,如果用cookie去搞它肯定能搞死它,but我还没学到那边,于是我随便从里面点了一个网站名字叫图怪兽

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

奈斯,找到地址了,现在来分析他大图 的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
很明显就是黄色的地方不一样,现在去首页康康,源码里面有没有这些值
有两个,现在可以写正则表达式了"/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)

免费评分

参与人数 4吾爱币 +4 热心值 +3 收起 理由
shangpengpeng + 1 + 1 谢谢@Thanks!
大鱼爱吃猫 + 1 + 1 谢谢@Thanks!
ChenM2019 + 1 用心讨论,共获提升!
FleTime + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
WANGJING 发表于 2020-5-10 12:49
第一个:https://ue.818ps.com/?picId=3004016&origin=tpl_search&pram=eyJrZXl3b3JkIjoiXHU5NmM1XHU2MDFkXHU1N2Y5XHU4YmFkIiwiY2xhc3NfaWQiOiIiLCJyb3V0ZV9pZCI6IjE1ODkwODYxMTczNjQ4Iiwicm91dGUiOiIxODciLCJhZnRlcl9yb3V0ZSI6IiJ9
第二个:https://ue.818ps.com/?origin=tpl_search&pram=eyJrZXl3b3JkIjoiXHU1NGE4XHU4YmUyXHU1N2Y5XHU4YmFkXHU0ZWY3XHU2ODNjXHU4ODY4XHU2MjRiXHU2NzNhXHU2ZDc3XHU2MmE1IiwiY2xhc3NfaWQiOiIiLCJyb3V0ZV9pZCI6IjE1ODkwODYxNTk5Njg1Iiwicm91dGUiOiIxLDE4NyIsImFmdGVyX3JvdXRlIjoiMV8xODcifQ==&upicId=74302702
好人一生平安
推荐
 楼主| liqi 发表于 2019-7-16 20:32 |楼主
varphp 发表于 2019-7-16 17:56
爬取千图源文件吧 有cookie也不行 他们有下载限制 大佬有啥办法破解

你用他提供的下载按键只能下载20个一天,但是只需要过了首页的登录框,就可以正常抓取了,然后再用代{过}{滤}理,我们只是查看他图片的链接,然后用函数保存下载下来,他们应该是检测不到的, 我等会试一下吧
沙发
Avenshy 发表于 2019-7-16 15:40
3#
青悠坊 发表于 2019-7-16 15:45
爬出来的 有水印吗
4#
cam001 发表于 2019-7-16 15:45
用不着截图保存了,牛的一批
5#
youngperson 发表于 2019-7-16 15:48
不错 挺好的
6#
i踏梦行 发表于 2019-7-16 16:02
学三天就可以爬图了,厉害哦,看到编程就眼花
7#
jidesheng6 发表于 2019-7-16 16:13
BeautifulSoup大法好,不过还有scrapy框架,可惜不会用,稍微看了一下可以直接传xpath,更方便了,和selenium差不多简单了
8#
小黑LLB 发表于 2019-7-16 16:15
支持原创 顶一顶 继续加油
9#
glk1010282338 发表于 2019-7-16 16:27
厉害,学习一下!
10#
qiaoyuxuanwu 发表于 2019-7-16 16:31
不错支持一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 12:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表