吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1752|回复: 15
收起左侧

[求助] 爬虫问题求助

[复制链接]
zsk123 发表于 2021-12-4 14:19
吾爱的朋友们,大家好:
我在学习使用selenium爬取图片时遇到了一些问题,想求助一下大家。
具体说就是爬取的网站有权限认证,比如在发请求:?response-content-disposition=attachment
应该是直接获取图片的数据 但是会提示没有权限访问该页面  应该是请求字符串response-content-disposition=attachment 的问题
请问这个请求字符串一般存贮在哪里?
或者说大家是怎么爬取带权限认证的数据的?
希望有大哥解答一下,万分感谢!


from selenium import webdriver
from lxml import etree
from selenium.webdriver.chrome.service import Service
import requests
import time
path = Service('D:\\Python\\project\\Spyder\\resources\\chromedriver.exe')
broswer = webdriver.Chrome(service=path)
url = 'https://bz.zzzmh.cn/index'
res = broswer.get(url=url)
broswer.implicitly_wait(10)
span_button = broswer.find_element_by_xpath(
    '//*[@id="app"]/div/main/div/div/div/div[2]/div/span[2]/a[@]')
span_button.click()
html = broswer.page_source
page_text = etree.HTML(html)
a_list = page_text.xpath(
    '//*[@id="app"]/div/main/div/div/div/div[2]/div/span[2]/a/@href')

headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0,Win64,x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36 Edg/96.0.1054.41'
}
# print(broswer.get_cookies())
broswer.implicitly_wait(10)
time.sleep(15)
# broswer.get(a_list[0])
# r1=broswer.page_source
# response = requests.get(a_list[0], headers=headers).content
time.sleep(5)
print(type(broswer.get(a_list[0])))
print(type(a_list),len(a_list),a_list[0])
broswer.close()


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

Anekys 发表于 2021-12-4 17:47
本帖最后由 Anekys 于 2021-12-4 17:50 编辑


其实做爬虫时建议你先尝试下参数是否校验的,我把你说的那一长串直接去掉了
用Get请求可以直接获取到图片,只需要User-Agent和Referer两个Header




我丢,发现了论坛的一个bug,简洁模式提交的图片在高级模式居然没办法删除
不知道第一张图会不会也加载出来,凑活看吧

 楼主| zsk123 发表于 2021-12-4 18:55
谢谢老哥,headers里面只用包含useragent和refer就行了是吧?
chaojiak47 发表于 2021-12-4 19:15
 楼主| zsk123 发表于 2021-12-4 19:36
chaojiak47 发表于 2021-12-4 19:15
headers里面只用包含useragent 就可以

这个只用useragent是不行的,我查了一下,referer属性根据阮一峰老师的解释是这样的:HTTP 协议在请求(request)的头信息里面,设计了一个Referer字段,给出"引荐网页"的 URL。



这个字段是可选的。客户端发送请求的时候,自主决定是否加上该字段。
必须加上这个属性才能通过权限认证从外链获取
 楼主| zsk123 发表于 2021-12-4 19:37
Anekys 发表于 2021-12-4 17:47
其实做爬虫时建议你先尝试下参数是否校验的,我把你说的那一长串直接去掉了
用Get请求可以直接获取到图片 ...

谢谢老哥,终于成功了!
chaojiak47 发表于 2021-12-4 19:39
还有滑动验证码
 楼主| zsk123 发表于 2021-12-4 19:46

滑动验证码一般咋解决的?是Selenium控制鼠标实现动作链吗?
1942 发表于 2021-12-4 19:54
这个网址应该用selenium 批量获取page_source, 让后解析出 图片url, 获取到全部图片url之后, 再构造headers 单独批量下载图片
 楼主| zsk123 发表于 2021-12-4 19:59
1942 发表于 2021-12-4 19:54
这个网址应该用selenium 批量获取page_source, 让后解析出 图片url, 获取到全部图片url之后, 再构造heade ...

是的,确实如此
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 19:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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