[爬虫]没见过这么难爬的图片,现在依然找不到原因
发布于 7 年前 作者 lpbird 5050 次浏览 来自 问答

图片地址:https://trade.gf.com.cn/yzm.jpgx 目的就是把这个图片下载并保存 我的代码: var fs = require(‘fs’); var request = require(‘request’);

var options = {
url: ‘https://trade.gf.com.cn/yzm.jpgx’, method: ‘GET’, headers: {
‘Accept’: ‘text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8’,
‘Accept-Encoding’: ‘gzip, deflate, br’,
‘Accept-Language’: ‘zh-CN,zh;q=0.8,en;q=0.6’,
‘Cache-Control’: ‘max-age=0’,
‘Connection’: ‘keep-alive’,
‘Cookie’: ‘JSESSIONID=08A5C20DE75D25E64712A67962E48BCC-n3; name=value; Hm_lvt_ac00bd9c6ddf431519c58fde706b5981=’+parseInt(Date.now()/1000)+’; Hm_lpvt_ac00bd9c6ddf431519c58fde706b5981=’+parseInt(Date.now()/1000),
‘Host’: ‘trade.gf.com.cn’,
‘Upgrade-Insecure-Requests’:1, ‘User-Agent’: ‘Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Mobile Safari/537.36’ }
}
request(options).pipe(fs.createWriteStream("/Users/Documents/img/"+(new Date().getTime())+’.jpg’))

问题描述 1E99B85C-45F5-49B1-A501-8958563ECEBC.png 如上图,爬虫跑着跑着会出现这个,禁止被访问,这个问题的出现是反复的,偶尔才会出现,一段时间内都不能访问,但是过段时间又好了,浏览器访问永远是好的,但是我已经把浏览器的访问参数全加了还是会出现。

猜测:该网站进行了频率限制,检测到某ip单位时间内访问次数异常就会封ip 实践得知并不是,因为有时还会出现 可以下载与不能下载的交替出现,就是一次行,下一次就不行,然后下一次又不行了,我换了很多网,有的网就一直不行,有的网就会出现上述问题,但是还没发现哪种情况是一直可以的

反正现在还是不能100%成功,一段时间可以频率再快都无所谓,都能成功。但是过段时间就不行了,求助~~~

5 回复

referer 都没加。。。 无头浏览器试了吗?

@ianchn referer:no-referrer-when-downgrade 这个是通过浏览器访问时带的,我也试着加过,没用,无头浏览器我现在试试,谢谢

@ianchn 刚才看了下phantom,因为这个链接就是图片的链接,所以不需要借助phantom去爬图片的,正常的request就可以

Referer:https://trade.gf.com.cn/yzm_new.jsp 细心点,不然爬不出东西的,感觉你是连referer是什么意思都没搞懂。 用无头浏览器不是为了获取动态资源,而是为了模拟正常浏览器,躲过网站可能留下的机关。 我看你真的爬的太少了,建议慢慢来,慢慢摸索。爬验证码是要做训练库吧,那找安排这个任务的人指导吧,感觉会机器学习和不懂http headers不会发生在同一个人身上。

@ianchn 谢谢~谢谢~ 只是这个是我遇到最奇怪的图片,以前的都很轻松就爬下来了,多谢指教

回到顶部