使用 urllib2 和 mechanize 爬行向我抛出错误

Crawling with urllib2 and mechanize is throwing error to me

我正在使用 urllib2 和 mechanize 抓取一些网站,但其中一些给我错误

当我使用 urllib2 进行抓取时,它会给我 HTTPError: HTTPError()

urllib2

的代码
import urllib2
response=urllib2.urlopen('http://proxygaz.com/country/india-proxy/').read()

错误

HTTPError: HTTPError()

当我使用 mechanize 进行抓取时,它会给我 httperror_seek_wrapper:>>

机械化代码

import mechanize
from mechanize import Browser

br = Browser()
br.open('http://proxygaz.com/country/india-proxy/').read()

错误

httperror_seek_wrapper: >>

urllib2.urlopen() 示例中,异常是:

urllib2.HTTPError: HTTP Error 403: Forbidden

由于某种原因,您没有访问该资源的权限....这是用户代理。它适用于 requests 或者您可以按如下方式更改用户代理:

import urllib2

request = urllib2.Request('http://proxygaz.com/country/india-proxy/', headers={'User-Agent': 'Mozilla/5.0'})
response = urllib2.urlopen(request)

遇到同样的错误,请尝试使用用户代理或 requests:

import requests

response=requests.get('http://proxygaz.com/country/india-proxy/')
print(response.status_code)
200

使用代理工作正常:

import urllib2

resp = urllib2.Request('http://proxygaz.com/country/india-proxy/')
resp.add_header('User-Agent', 'FIREFOX')
opener = urllib2.build_opener()
print  opener.open(resp).read()