草庐IT

python - 错误 - urlopen 错误 [Errno 8] _ssl.c :504: EOF occurred in violation of protocol

我的目标是在输入谷歌搜索词后从第一页的所有链接中提取html。我在代理后面工作,所以这是我的方法。1.我第一次用mechanize在表单中输入搜索词,我正确设置了代理和机器人。2.提取链接后,我使用了一个全局使用urllib2.ProxyHandler的开启器,单独打开url。但是这给了我这个错误。想不通。urlopenerror[Errno8]_ssl.c:504:EOFoccurredinviolationofprotocol 最佳答案 您可以通过覆盖ssl_version关键字参数对ssl模块中的ssl.wrap_socket

python - 如何在 python 中使用 urllib2 加快获取页面的速度?

我有一个脚本可以获取几个网页并解析信息。(一个例子可以在http://bluedevilbooks.com/search/?DEPT=MATH&CLASS=103&SEC=01看到)我在上面运行了cProfile,正如我所假设的,urlopen占用了很多时间。有没有办法更快地获取页面?或者一次获取多个页面的方法?我会做任何最简单的事情,因为我是Python和Web开发的新手。提前致谢!:)更新:我有一个名为fetchURLs()的函数,我用它来制作我需要的URL数组所以类似urls=fetchURLS().URL都是来自Amazon和eBayAPI的XML文件(这让我很困惑,为什么加载

python - 如何在 python 中使用 urllib2 加快获取页面的速度?

我有一个脚本可以获取几个网页并解析信息。(一个例子可以在http://bluedevilbooks.com/search/?DEPT=MATH&CLASS=103&SEC=01看到)我在上面运行了cProfile,正如我所假设的,urlopen占用了很多时间。有没有办法更快地获取页面?或者一次获取多个页面的方法?我会做任何最简单的事情,因为我是Python和Web开发的新手。提前致谢!:)更新:我有一个名为fetchURLs()的函数,我用它来制作我需要的URL数组所以类似urls=fetchURLS().URL都是来自Amazon和eBayAPI的XML文件(这让我很困惑,为什么加载

python - 如何使用 urlopen 获取非 ascii url?

我需要从带有非ascii字符的URL中获取数据,但urllib2.urlopen拒绝打开资源并引发:UnicodeEncodeError:'ascii'codeccan'tencodecharacteru'\u0131'inposition26:ordinalnotinrange(128)我知道URL不符合标准,但我没有机会更改它。使用Python访问包含非ascii字符的URL指向的资源的方法是什么?编辑:换句话说,urlopen可以/如何打开一个URL,例如:http://example.org/Ñöñ-ÅŞÇİİ/ 最佳答案

python - 如何使用 urlopen 获取非 ascii url?

我需要从带有非ascii字符的URL中获取数据,但urllib2.urlopen拒绝打开资源并引发:UnicodeEncodeError:'ascii'codeccan'tencodecharacteru'\u0131'inposition26:ordinalnotinrange(128)我知道URL不符合标准,但我没有机会更改它。使用Python访问包含非ascii字符的URL指向的资源的方法是什么?编辑:换句话说,urlopen可以/如何打开一个URL,例如:http://example.org/Ñöñ-ÅŞÇİİ/ 最佳答案

python - 如何处理来自 urllib.request.urlopen() 的响应编码,以避免 TypeError : can't use a string pattern on a bytes-like object

这个问题在这里已经有了答案:TypeError:can'tuseastringpatternonabytes-likeobjectinre.findall()(4个回答)关闭上个月。我正在尝试使用urllib.request.urlopen()打开网页,然后使用正则表达式进行搜索,但这会出现以下错误:TypeError:can'tuseastringpatternonabytes-likeobject我明白为什么,urllib.request.urlopen()返回一个字节流,所以re不知道要使用的编码。在这种情况下我该怎么办?有没有办法在urlrequest中指定编码方法,或者我需要

python - 如何处理来自 urllib.request.urlopen() 的响应编码,以避免 TypeError : can't use a string pattern on a bytes-like object

这个问题在这里已经有了答案:TypeError:can'tuseastringpatternonabytes-likeobjectinre.findall()(4个回答)关闭上个月。我正在尝试使用urllib.request.urlopen()打开网页,然后使用正则表达式进行搜索,但这会出现以下错误:TypeError:can'tuseastringpatternonabytes-likeobject我明白为什么,urllib.request.urlopen()返回一个字节流,所以re不知道要使用的编码。在这种情况下我该怎么办?有没有办法在urlrequest中指定编码方法,或者我需要

Python 检查网站是否存在

我想检查某个网站是否存在,这就是我正在做的: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 检查网站是否存在

我想检查某个网站是否存在,这就是我正在做的: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 - 在 Python 3 中为 urllib.request.urlopen 更改用户代理

我想使用urllib.request.urlopen('someurl'):打开一个urlwithurllib.request.urlopen('someurl')asurl:b=url.read()我不断收到以下错误:urllib.error.HTTPError:HTTPError403:Forbidden我理解该错误是由于该站点不允许python访问它,以阻止机器人浪费他们的网络资源——这是可以理解的。我去搜索,发现你需要更改urllib的用户代理。然而,我为这个问题找到的关于如何更改用户代理的所有指南和解决方案都使用urllib2,而且我使用的是python3,所以所有解决方案都