首页 新闻 会员 周边

爬虫求助之同一url在window正常爬取,到Linux上却返回403

0
悬赏园豆:100 [已解决问题] 解决于 2019-09-18 11:25

源码:import requests
headers = {‘User-Agent’: ‘Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US; rv:1.0.1) Gecko/20021104 Chimera/0.6’,
}
url = ‘https://feed.mix.sina.com.cn/api/roll/get?pageid=153&lid=2509&k=&num=50&page=1
resp = requests.get(url,headers=headers)
print(resp.status_code)

url是新浪新闻json格式异步加载的新闻信息,在window上可以正常爬和解析,在Linux上爬取就报错403.但是新浪明明没用反爬。

哔哔~~的主页 哔哔~~ | 初学一级 | 园豆:112
提问于:2019-09-17 16:45
< >
分享
最佳答案
1

试了一下用curl都能访问到这个链接,是不是你的linux的ip有问题。

收获园豆:100
Masako | 小虾三级 |园豆:1893 | 2019-09-18 10:44

确实时我的IP问题,我用的阿里云,它的IP有问题,我设置一层代理IP 成功爬取了内容。

哔哔~~ | 园豆:112 (初学一级) | 2019-09-18 10:59
其他回答(1)
0

把自己的完整 tcp 字节码打出来对比不就知道了。

花飘水流兮 | 园豆:13560 (专家六级) | 2019-09-17 17:11

大佬能将详细点吗,我小白,有点不太明白完整tcp字节码怎么弄,另外怎么对比这个字节码呢。万分感谢,

支持(0) 反对(0) 哔哔~~ | 园豆:112 (初学一级) | 2019-09-17 18:06

@哔哔~~: http是由tcp实现的字节码协议。你可以自己写代码,也可以用很多现成工具。

比如你可以用fiddler代理看raw,一般爬数据测试不过,很简单 —— 直接tcp把raw写进入就行了。

当然这里你只是找问题,你自己分别去看看请求对比一下就知道了。方法已经告诉你了,工具具体使用也很简单,不清楚网上有一大把。

支持(0) 反对(0) 花飘水流兮 | 园豆:13560 (专家六级) | 2019-09-17 18:19

@花飘水流兮: 谢谢大佬

支持(0) 反对(0) 哔哔~~ | 园豆:112 (初学一级) | 2019-09-17 18:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册