cit*_*our 0 web-scraping python-3.x python-requests
from requests import get
get('http://www.fb.com')
<Response [200]>
get('http://www.subscene.com')
<Response [403]
Run Code Online (Sandbox Code Playgroud)
我正在尝试构建一个网络抓取工具来抓取和下载字幕。但是我无法请求任何字幕页面,因为它们返回响应代码 403。
HTTP 状态码403 Forbidden表示:
服务器理解请求,但拒绝满足它。来源
服务器将您的脚本识别为非默认浏览器(Chrome、Firefox 等),并拒绝与其“对话”。经常看到网站这样做是为了避免刮刀,这正是您想要做的......
解决方法是user-agent在标题中设置 a ,如下所示:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
url = "http://www.subscene.com"
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
response = requests.get(url, headers=headers)
print(response) # <Response [200]>
Run Code Online (Sandbox Code Playgroud)
但是我建议您寻找提供某种 API 的站点,依靠抓取并不是最好的方法。