我正在尝试抓取以下页面:http://usbcdirectory.com/listing/1-us-black-chambers
我用的是python 3.5.0
下面是我的代码:urllib.request.urlopen('http://usbcdirectory.com/listing/1-us-black-chambers')
使用上面我得到404找不到错误。然而,页面存在,当我从浏览器打开。
我试图寻找这个问题的解决方案,在这里我发现:
1)将urllib改为requests:我已经这样做,并得到404错误的状态码
>>>requests.get('http://usbcdirectory.com/listing/1-us-black-chambers')
Request <404>
2)我检查了我的链接是正确的
3)我试着寻找页面是否是使用javascript生成的。我相信不是。
这里的网页有什么问题?他们是以某种方式阻止了抓取还是URL有问题?
2条答案
按热度按时间gorkyyrv1#
正如你所猜测的,他们可能会阻止你的请求。你可以传递自定义头来模拟你的请求,更像是来自真实的浏览器的请求:
jk9hmnmh2#
它发生在我身上一样.感谢分享解决方案.我也试图使用我的个人用户代理代码和它的工作.我用这个代码: