zyhxhw 发表于 2022-1-9 23:11

某办公网站高清摄影图片爬取

import os
import requests
import re

def soushu(zzbds,html):
    ab = re.compile(zzbds, re.S)
    zml = re.findall(ab, html)
    return zml
def openwangye0(url):
    headers = {
      'cookie':'auth_token=VPu9LKcXvbqKjlosWxOLRM2aCWq4BrdF_VwKuWW64Yjb5tB4l-AHDlYhn59T6Cix0z9Xh1t4PtirXCbkp4vzNA',
    }
    htl = requests.get(url,headers=headers,timeout=10)   
    return htl
url = 'https://www.tukuppt.com/peitu/p199/'
html = openwangye0(url).text
zzbds = 'pid="(.*?)" issc="." isfrom="."></span>\r\n    <a href=".*?" target="_blank"><img title="(.*?)"'
pagetpml = soushu(zzbds,html)
print(len(pagetpml),pagetpml)
a = 0
for i in pagetpml:
    url = f'https://www.tukuppt.com/index/down?pid={i[0]}'
    html = openwangye0(url)
    data = html.text
    zzbds = '"downurl":"(.*?)"'
    downurl = soushu(zzbds,data)
    print(data)
    downurl1 = re.sub('\\\\','',downurl[0])   
    data = openwangye0(downurl1).content   
    path = r'D:\xmbgtp'
    if not os.path.exists(path):
      os.mkdir(path)
    filname = os.path.join(path,f'{i[1]}.jpg')
    with open(filname,'wb') as f:
      f.write(data)
    print(f'{i[1]}下载完成')

正己 发表于 2022-1-9 23:39

zyhxhw 发表于 2022-1-9 23:18
很肤浅,也不完美。希望大佬指教。不完善的地方是网站做了下载次数的限制,一个cookie只能下载7张高清大图 ...

分析一下注册流程,批量注册获取token,然后再套用不同的token去下载

zyhxhw 发表于 2022-1-10 22:49

kll545012 发表于 2022-1-10 10:35
一个账号一个token,多注册账号,拿到token,然后换headers里的token就行了

说的不错!正是这样,但是手机号总是有限的,这个token 肯定 是根据手机号生成的,如果能找到生成的办法,输入一串数字,就能生成是token,那是最简单的解决的办法。还有一个思路就是,网站是怎么记录上传次数的,如果提交的次数始终为0,不就可以永远下载了吗

zyhxhw 发表于 2022-1-9 23:18

很肤浅,也不完美。希望大佬指教。不完善的地方是网站做了下载次数的限制,一个cookie只能下载7张高清大图。如有大佬能突破限制,望不吝赐教!

戰龍在野 发表于 2022-1-10 00:13

不知使用方法如何?麻烦一并提供啊谢谢了

pkni1230 发表于 2022-1-10 00:29

持续关注,更新的版本

绿软奔跑者 发表于 2022-1-10 00:32

哇,不明觉厉

dongse 发表于 2022-1-10 07:26

5151diy 发表于 2022-1-10 07:48

只有好好学习python编程,

ospf 发表于 2022-1-10 08:03

不明觉厉

令狐冲了个澡爽 发表于 2022-1-10 08:11

不明觉厉
页: [1] 2 3
查看完整版本: 某办公网站高清摄影图片爬取