我目前正在尝试使用Python登录一个站点,但是该站点似乎在同一页面上发送了一个cookie和一个重定向语句。Python似乎遵循该重定向,因此阻止我读取登录页面发送的cookie。如何防止Python的urllib(或urllib2)urlopen跟随重定向? 最佳答案 你可以做几件事:构建自己的HTTPRedirectHandler来拦截每个重定向创建一个HTTPCookieProcessor实例并安装该开启程序,以便您可以访问cookiejar。这是一个快速的小东西,显示了两者importurllib2#redirect_ha
我想检查某个网站是否存在,这就是我正在做的:user_agent='Mozilla/20.0.1(compatible;MSIE5.5;WindowsNT)'headers={'User-Agent':user_agent}link="http://www.abc.com"req=urllib2.Request(link,headers=headers)page=urllib2.urlopen(req).read()-ERROR402generatedhere!如果页面不存在(错误402或任何其他错误),我可以在page=...行中执行哪些操作以确保我正在阅读的页面确实存在退出?
我想检查某个网站是否存在,这就是我正在做的:user_agent='Mozilla/20.0.1(compatible;MSIE5.5;WindowsNT)'headers={'User-Agent':user_agent}link="http://www.abc.com"req=urllib2.Request(link,headers=headers)page=urllib2.urlopen(req).read()-ERROR402generatedhere!如果页面不存在(错误402或任何其他错误),我可以在page=...行中执行哪些操作以确保我正在阅读的页面确实存在退出?
我正在尝试使用Python编写的爬虫来爬取网站。我想将Tor与Python集成,这意味着我想使用Tor匿名抓取网站。我试过这样做。它似乎不起作用。我检查了我的IP,它仍然与我使用tor之前的IP相同。我通过python检查了它。importurllib2proxy_handler=urllib2.ProxyHandler({"tcp":"http://127.0.0.1:9050"})opener=urllib2.build_opener(proxy_handler)urllib2.install_opener(opener) 最佳答案
我正在尝试使用Python编写的爬虫来爬取网站。我想将Tor与Python集成,这意味着我想使用Tor匿名抓取网站。我试过这样做。它似乎不起作用。我检查了我的IP,它仍然与我使用tor之前的IP相同。我通过python检查了它。importurllib2proxy_handler=urllib2.ProxyHandler({"tcp":"http://127.0.0.1:9050"})opener=urllib2.build_opener(proxy_handler)urllib2.install_opener(opener) 最佳答案
我想使用urllib.request.urlopen('someurl'):打开一个urlwithurllib.request.urlopen('someurl')asurl:b=url.read()我不断收到以下错误:urllib.error.HTTPError:HTTPError403:Forbidden我理解该错误是由于该站点不允许python访问它,以阻止机器人浪费他们的网络资源——这是可以理解的。我去搜索,发现你需要更改urllib的用户代理。然而,我为这个问题找到的关于如何更改用户代理的所有指南和解决方案都使用urllib2,而且我使用的是python3,所以所有解决方案都
我想使用urllib.request.urlopen('someurl'):打开一个urlwithurllib.request.urlopen('someurl')asurl:b=url.read()我不断收到以下错误:urllib.error.HTTPError:HTTPError403:Forbidden我理解该错误是由于该站点不允许python访问它,以阻止机器人浪费他们的网络资源——这是可以理解的。我去搜索,发现你需要更改urllib的用户代理。然而,我为这个问题找到的关于如何更改用户代理的所有指南和解决方案都使用urllib2,而且我使用的是python3,所以所有解决方案都
我在尝试urlopen维基百科的某个页面时遇到了一个奇怪的错误。这是页面:http://en.wikipedia.org/wiki/OpenCola_(drink)这是shellsession:>>>f=urllib2.urlopen('http://en.wikipedia.org/wiki/OpenCola_(drink)')Traceback(mostrecentcalllast):File"C:\ProgramFiles\WingIDE4.0\src\debug\tserver\_sandbox.py",line1,in#Usedinternallyfordebugsandbo
我在尝试urlopen维基百科的某个页面时遇到了一个奇怪的错误。这是页面:http://en.wikipedia.org/wiki/OpenCola_(drink)这是shellsession:>>>f=urllib2.urlopen('http://en.wikipedia.org/wiki/OpenCola_(drink)')Traceback(mostrecentcalllast):File"C:\ProgramFiles\WingIDE4.0\src\debug\tserver\_sandbox.py",line1,in#Usedinternallyfordebugsandbo
我使用以下代码将大文件从Internet流式传输到本地文件:fp=open(file,'wb')req=urllib2.urlopen(url)forlineinreq:fp.write(line)fp.close()这可行,但下载速度很慢。有更快的方法吗?(这些文件很大,所以我不想将它们保存在内存中。) 最佳答案 没有理由逐行工作(小块并且需要Python为您找到行尾!-),只需将其分成更大的block,例如:#fromurllib2importurlopen#Python2fromurllib.requestimporturlo