吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 772|回复: 5
收起左侧

[求助] 使用python爬原图,session失效是什么原因?

[复制链接]
AnWenpython 发表于 2021-11-12 13:40
#目标网站https://www.ivsky.com/
#爬取目标:  爬取原图,注意!!!  不是缩略图
#出现问题:  对存有原图链接后缀的url(data)发get请求时,用session会话对象状态码200,就是打印不出数据,手动添加cookie能打印出数据,不知道是我代码的原因还是网站的原因,大佬求救啊!!!

代码:
import json
import requests
from lxml import etree
import re
import os
#创建一个session对象
sessionp = requests.Session()
if not os.path.exists('./极简壁纸爬取结果'):
    os.mkdir('./极简壁纸爬取结果')  # 创建保存图片的文件夹
#1.对这组图片的url发get请求,拿到每张图片的url
url = 'https://www.ivsky.com/bizhi/bubujingxin_li_v37329/'
html1 = requests.get(url=url)
#print(html1.text)
d = etree.HTML(html1.text)
slist = d.xpath('file:///C:\Users\An Wen\AppData\Roaming\Tencent\QQTempSys\@IR3P(8S$C$Z$TY~5I{QEPC.gifml/body/div[3]/div[4]/ul[img]file:///C:\Users\An Wen\AppData\Roaming\Tencent\QQTempSys\)A[Y)I~](ZC9Z[3Y)IDK7LK.gif[/img]/div/a/@href')   #href="/bizhifile:///C:\Users\An Wen\AppData\Roaming\Tencent\QQTempSys\OOY5$4OW5H`8`9%(9$)T67M.gifbujingxin_li_v37329/pic_607228.html"   https://www.ivsky.com/bizhi/bubujingxin_li_v37329/pic_607228.html
#html1.close()
ec = "var imgURL='(.*?)';var"
ed = "</script><img.*?src='(.*?)' alt="
hdes_1 = {
    "user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0"
}
#2.对每张图的url发请请求
for li in slist:            #https://www.ivsky.com/bizhi/moraine_lake_v48781/pic_769150.html"
    url2 ='https://www.ivsky.com'+li
    print(url2)
    html2 = sessionp.get(url=url2,headers=hdes_1)
    picurl = "https://www.ivsky.com/get_picinfo.php?tn=downloadpic&picurl="+re.findall(ec, html2.text)[0]   #data的url
    print(picurl)
    hdes_2 = {
        "user-agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0",
        "referer": url2,  # https://www.ivsky.com/bizhi/moraine_lake_v48781/pic_769150.
    }
    print(hdes_2)
    # parameters = {
    #     "tn": "downloadpic",
    #     "picurl": "/img/bizhi/pic/201608/05file:///C:\Users\An Wen\AppData\Roaming\Tencent\QQTempSys\OOY5$4OW5H`8`9%(9$)T67M.gifbujingxin_li.jpg"
    # }
#3.对保存原图后缀的data发请求
    data_html = sessionp.get(url=picurl,headers=hdes_2)
    #json_data = data_html.json()
    print(data_html.text)

    break
mmexport1636600414294.jpg
mmexport1636600407262.jpg
mmexport1636600409919.jpg

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

Prozacs 发表于 2021-11-12 17:59
....你这代码看的我。。脑袋大。好乱。还有解析页面用bs4
 楼主| AnWenpython 发表于 2021-11-12 20:47
Prozacs 发表于 2021-11-12 17:59
....你这代码看的我。。脑袋大。好乱。还有解析页面用bs4

https://www.ivsky.com/    能不能帮我分析一下这个网站
 楼主| AnWenpython 发表于 2021-11-12 20:49
Prozacs 发表于 2021-11-12 17:59
....你这代码看的我。。脑袋大。好乱。还有解析页面用bs4

先别看图片,看代码,有注释
luyers 发表于 2021-11-13 01:26
两个sessionp.get使用同一个headers试试
hdes['referer'] = 'xxx'
 楼主| AnWenpython 发表于 2021-11-13 14:05
luyers 发表于 2021-11-13 01:26
两个sessionp.get使用同一个headers试试
hdes['referer'] = 'xxx'

你去看看那个网站呗,可能是我技术问题
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 21:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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