我正在使用urllib2与网络服务器进行交互。对于我需要解决的具体问题,我需要通过代理隧道传输流量。我设法用urllib2'ProxyHandler'做到了这一点。我还需要接受和发送cookie。我设法用urllib2'cookielib.LWPCookieJar()'做到了这一点。问题是,虽然他们单独工作,但他们不会“一起”工作。我用“urllib2.install_opener(opener)”添加的最后一个开启器是可行的。是否有可能有两个活跃的“开场白”?或者用其他方法解决这个问题? 最佳答案 将代理处理程序和cookie处理
我正在使用mechanize模块从Python执行一些网络查询。我希望我的程序能够容错并优雅地处理各种错误(错误的URL、403/404响应)。但是,我在mechanize的文档中找不到它针对各种错误抛出的错误/异常。我只是这样调用它:self.browser=mechanize.Browser()self.browser.addheaders=[('User-agent',browser_header)]self.browser.open(query_url)self.result_page=self.browser.response().read()我怎么知道这里会抛出哪些错误/异
我有一个连接到HTTP流并记录它使用的文本数据的客户端。我向流媒体服务器发送一个HTTPGET请求...服务器回复并不断发布数据...它会定期发布文本或发送ping(文本)消息...并且永远不会关闭连接。我需要以非阻塞方式读取和记录它消耗的数据。我正在做这样的事情:importurllib2req=urllib2.urlopen(url)fordatinreq:withopen('out.txt','a')asf:f.write(dat)我的问题是:当流是连续的时,这会阻塞吗?每个block中读取了多少数据,是否可以指定/调整?这是读取/记录http流的最佳方式吗?
我有以下简单代码:importurllib2importsyssys.path.append('../BeautifulSoup/BeautifulSoup-3.1.0.1')fromBeautifulSoupimport*page='http://en.wikipedia.org/wiki/Main_Page'c=urllib2.urlopen(page)此代码生成以下错误消息:c=urllib2.urlopen(page)File"/usr/lib64/python2.4/urllib2.py",line130,inurlopenreturn_opener.open(url,dat
我对Python(和网络抓取)还很陌生。让我问你一个问题。许多网站实际上并没有报告其在Firefox或其他浏览器中的特定URL。例如,SocialSecurityAdmin显示了流行的婴儿名字和排名(自1880年以来),但是当我将年份从1880更改为1881时,url并没有改变。它是不断的,http://www.ssa.gov/cgi-bin/popularnames.cgi因为不知Prop体的URL,无法使用urllib下载网页。在这个页面源码中,包括:所以大概,如果我能控制这个“年份”值(比如“1881”或“1991”),我就能解决这个问题。我对吗?我仍然不知道该怎么做。谁能告诉我
在python中,我将如何发出http请求而不是等待响应。我不关心取回任何数据,我只需要向服务器注册一个页面请求。现在我使用这段代码:urllib2.urlopen("COOLWEBSITE")但显然这会暂停脚本,直到返回响应,我只想发出请求并继续。我该怎么做? 最佳答案 你在这里想要的是Threading或Asynchronous。线程:将对urllib2.urlopen()的调用包装在threading.Thread()中例子:fromthreadingimportThreaddefopen_website(url):retur
我正在尝试从网站获取header,将其编码为JSON以将其写入文件。我尝试了两种不同的方法,但均未成功。首先使用urllib2和jsonimporturllib2importjsonhost=("https://www.python.org/")header=urllib2.urlopen(host).info()json_header=json.dumps(header)printjson_header这样我得到错误:TypeError:isnotJSONserializable所以我尝试通过将对象转换为字符串来绕过这个问题->json_header=str(header)通过这种方
如果response.status_code不是200,如何避免urllib.request.urlopen的异常?现在它根据请求状态引发URLError或HTTPError。有没有其他方法可以用python3基本库发出请求?如果status_code!=200我如何获取响应header? 最佳答案 使用tryexcept,如下代码:fromurllib.requestimportRequest,urlopenfromurllib.errorimportURLError,HTTPErrorreq=Request("http://ww
我正在尝试使用python向需要cookie的RSS提要发出请求。我认为使用urllib2并添加适当的标题就足够了,但请求一直说未经授权。我猜这可能是远程站点方面的问题,但不确定。如何将urllib2与cookie一起使用?有没有更好的包(比如httplib、mechanize、curl) 最佳答案 我会使用requests包,docs,它比urlib2(健全的API)更容易使用。如果响应包含一些Cookie,您可以快速访问它们:url='http://httpbin.org/cookies/set/requests-is/awes
我正在尝试使用tor作为使用urllib2的代理通过privoxy进行匿名访问。系统信息:Ubuntu14.04,最近通过dist-upgrade从13.10升级。这是我用于测试目的的一段代码:importurllib2defreq(url):proxy_support=urllib2.ProxyHandler({"http":"127.0.0.1:8118"})opener=urllib2.build_opener(proxy_support)opener.addheaders=[('User-agent','Mozilla/5.0')]returnopener.open(url).