首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在python3中从urllib.request打开from的奇怪行为

在Python3中,使用urllib.request模块打开from的奇怪行为是指在使用urllib.request.urlopen()函数时,如果URL中包含from关键字,会导致打开URL失败或返回错误的结果。

这个奇怪行为是由于from是Python中的关键字,用于导入模块或从模块中导入特定的对象。当URL中包含from关键字时,urllib.request.urlopen()函数会将其解析为导入模块的语法,而不是作为URL的一部分进行处理,从而导致错误。

为了解决这个问题,可以使用urlencode()函数将URL中的特殊字符进行编码,将from关键字转换为%66%72%6f%6d等形式的字符串。然后再使用urllib.request.urlopen()函数打开编码后的URL。

以下是一个示例代码:

代码语言:txt
复制
import urllib.parse
import urllib.request

url = 'http://example.com/?query=from'
encoded_url = url.replace('from', urllib.parse.quote('from'))

response = urllib.request.urlopen(encoded_url)
data = response.read()

print(data)

在上述代码中,我们使用urllib.parse.quote()函数对URL中的from关键字进行编码,然后使用urllib.request.urlopen()函数打开编码后的URL,并读取返回的数据。

需要注意的是,以上代码只是解决了URL中包含from关键字的奇怪行为,实际应用中可能还需要处理其他可能的特殊字符或关键字。

推荐的腾讯云相关产品:腾讯云云服务器(CVM),腾讯云对象存储(COS)

  • 腾讯云云服务器(CVM):腾讯云提供的弹性计算服务,可快速创建、部署和扩展云服务器实例,支持多种操作系统和应用场景。详情请参考:腾讯云云服务器(CVM)产品介绍
  • 腾讯云对象存储(COS):腾讯云提供的安全、稳定、低成本的云端存储服务,可用于存储和管理各种类型的数据,支持海量数据存储和访问。详情请参考:腾讯云对象存储(COS)产品介绍
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

零学习python 】51.文件打开与关闭及其Python应用

打开word软件,新建一个word文件 写入个人简历信息 保存文件 关闭word软件 同样,操作文件整体过程与使用word编写一份简历过程是很相似的 打开文件,或者新建立一个文件 读/写数据...打开文件 python,使用open函数,可以打开一个已经存在文件,或者创建一个新文件 open(文件路径,访问模式) 示例如下: f = open('test.txt', 'w') 说明: 文件路径...例如:C:/Users/chris/AppData/Local/Programs/Python/Python37/python.exe,电脑盘符开始,表示就是一个绝对路径。...相对路径:是当前文件所在文件夹开始路径。 test.txt,是在当前文件夹查找 test.txt 文件 ./test.txt,也是在当前文件夹里查找test.txt文件, ..../表示是当前文件夹。 ../test.txt,当前文件夹上一级文件夹里查找 test.txt 文件。 ..

11210
  • python3 爬虫之爬取糗事百科

    闲着没事爬个糗事百科笑话看看 python3用urllib.request.urlopen()打开糗事百科链接会提示以下错误 http.client.RemoteDisconnected: Remote...end closed connection without response 但是打开别的链接就正常,很奇怪不知道为什么,没办法改用第三方模块requests,也可以用urllib3模块,还有一个第三方模块就是...bs4(beautifulsoup4) 最后经过不懈努力,终于找到了为什么,原因就是没有添加headers,需要添加headers,让网站认为是浏览器发起请求,这样就不会报错了。...import urllib.request url = 'http://www.qiushibaike.com/8hr/page/5/'   user_agent = 'Mozilla/4.0 (compatible...,以下是代码: 爬取糗事百科段子和图片 import requests import urllib.request import re def get_html(url):     page = requests.get

    58130

    编写兼容 Python 2.x 和 3.

    很酷,这个Python2和Python3都可以运行,而且运行效果是一样,再来看看下面这段: >>> print(10, 20) # Python 2 (10, 20) 此时,你并没有像前面那样幸运得到一样结果...为什么我们不用sys.stdout.write()呢,因为我们需要添加一个NEWLINE字符字符串结尾来兼容这种行为(python2.xwrite方法不会换行): # Python 2.x & 3...urllib2和urllib2(我们使用后者),Python3,他被集成到了urllib.request,而你方案是要既能在2.x和3.x中正常工作: try: from urllib2 import...urlopen except ImportError: from urllib.request import urlopen 出于对内存保护,也许你对iterator(Python3)版本zip...这个函数Python3被重命名替换成了zip()。

    86530

    python3urlopen_Python3 urlopen()用法示例

    函数参数介绍 1. url 参数:目标资源在网路位置。...可以是一个表示URL字符串(如:http://jb51.cc/);也可以是一个urllib.request对象,详细介绍请跳转 2. data参数:data用来指明发往服务器请求额外参数信息(如...如果是http请求,200请求成功完成;404网址未找到 geturl():返回请求url 四. 版本区别, 注意事项 python2和python3导入urlrequest方式都不一样。...from urllib.request import urlopen 五. 实例 下面这个程序,实现了urlopen()函数大部分功能,特别是data参数。...# @param Python3urlopen()详解 # @author 编程之家 jb51.cc|www.www.jb51.cc #coding=utf-8 #Python3.x ”’ 利用有道翻译进行在线翻译

    60410

    pythonurllib模块方法

    (3)parse会解析url 下面讨论是request urllib.request模块定义了一些打开URLs(一般是HTTP协议)复杂操作像是basic 和摘要模式认证,重定向,cookies等方法和类...使用 REST 接口时,Server 会检查Content-Type字段,用来确定 HTTP Body 内容该怎样解析。...我们知道以get方式提交数据时候,会在url添加key=value这样字符串,所以value是不允许有'=',因此要对其进行编码;与此同时服务器接收到这些参数时候,要进行解码,还原成原始数据...Python 3以后版本,urllib2这个模块已经不单独存在(也就是说当你import urllib2时,系统提示你没这个模块),urllib2被合并到了urllib,叫做urllib.request...python,urllib和urllib2不可相互替代

    2.1K10

    python3 成长之路(1) 动力才是

    python3 下载python3 这个很多人百度一下都OK 但是 懵逼是那么多连接到底怎么选择?...为了避免配置尴尬,所以安装时候 一开始就有咨询是否配置到path  直接勾选 一路next 安装完毕 。...好吧 哥们在此之前 对于这种学习方法 100%拥护 但是就是因为基础这东西 学着学着就没了兴趣 才发现自己离目标越来越远 好吧  既然有目的 所以 还是目的角度出发学习 所以在这里 本人直接pass...,需要调用requst方法  恩 写吧  = urllib.request.urlopen(url).read() 报错了  醉了  为啥是方法报错 百度后  发现 python3 urllib2和...函数,用于打开一个URL: info():返回一个对象,表示远程服务器返回头信息。

    51020

    Python 协程并发下载斗鱼美女图片

    这里跳过爬取页面,使用正则获取图片url地址步骤,直接找几张图片url地址进行并发下载测试。 ? 打开chrome浏览器F12淡定点击图片,就可以看到里面的图片url地址啦。...不要心急打开 使用urllib库下载第一张图片 首先在ipython3测试一下urllib库: In [1]: import urllib.request In [3]: req = urllib.request.urlopen...refresh" content="0;url=http://www.baidu.com/">\r\n\r\n' In [5]: 从上面已经可以看出爬取了浏览器打开百度页面内容了...下面就来写个下载图片示例: [root@server01 download_image]# cat download_image.py #coding=utf-8 import urllib.request...gevent from gevent import monkey import time monkey.patch_all() # 将程序中用到耗时操作代码,换为gevent自己实现模块 def

    1.3K30

    疫情在家能get什么新技能?

    我之前用过像《python编程 入门到实践》、《笨方法学python3》,都是适合初学者看。 爬虫学习资源也非常多。...(html.read()) # 打印html内容 print(html_text) 看看效果: 我们看一下真正百度首页html是什么样,如果你用是谷歌浏览器,百度主页打开设置>更多工具>开发者工具...这个标题是被两个标签套住,一个是一级标签,另一个是二级标签,所以只要从标签取出信息: # 导入urlopen函数 from urllib.request...# 导入urlopen from urllib.request import urlopen # 导入BeautifulSoup from bs4 import BeautifulSoup as bf...src这个属性里,我们要获取图片链接地址: # 导入urlopen from urllib.request import urlopen # 导入BeautifulSoup from bs4 import

    1.6K30

    爬虫之urllib包以及request模块和parse模块

    urllib简介 简介 Python3将python2.7urllib和urllib2两个包合并成了一个urllib库 Python3,urllib库包含有四个模块: urllib.request...  主要用来解析robots.txt文件 模块安装与导入 urllib是python自带一个包,无需安装,导入方法如下: from urllib import request ... urllib.request...而urllib.requestRequest函数,也可以用于打开url字符串,同时可以传入更多参数,例如:headers,Request函数可以返回一个request对象作为urlopen函数url...爬虫小示例 代码 from urllib import request # 定义一个url url = 'https://www.baidu.com/' # 用request.urlopen()方法打开指定...,也就是所打开url 如,在上面示例调用此方法: print(response.geturl()) # https://www.baidu.com/ info() 返回response对象meta

    1.1K00

    使用 Python 爬取网页数据

    本文作者:IMWeb HuQingyang 原文出处:IMWeb社区 未经同意,禁止转载 需要过去一些网页上信息时候,使用 Python 写爬虫来爬取十分方便。 1....解析库, 可以编写出用于采集网络数据大型爬虫; 注: 示例代码使用Python3编写; urllib 是 Python2 urllib 和 urllib2 两个库合并而来, Python2 ...urllib2 对应 Python3 urllib.request 简单示例: import urllib.request # 引入urllib.request...伪造请求主体 爬取某一些网站时, 需要向服务器 POST 数据, 这时就需要伪造请求主体; 为了实现有道词典在线翻译脚本, Chrome 打开开发工具, Network 下找到方法为 POST...请求, 观察数据可以发现请求主体 ‘ i ‘ 为经过 URL 编码需要翻译内容, 因此可以伪造请求主体, 如: import urllib.request import urllib.parse

    1.6K10

    53. Python 爬虫(2)

    Urllib 模块 python2和python3上有差异 python2上,urllib和urllib2各有各功能,虽然urllib2是urllib包装、升级版,但是urllib2还是不能完全替代...urllib,而在python3,则全部封装成1个类:urllib python2: import urllib import urllib2 python3: import urllib Request...举例: python2接收request对象: urllib2.Request python3接收request对象: urllib.request.Request() python3 对这个方法重新进行了封装...key1=hello&key2=world python3使用parse.urlencode from urllib import parse import urllib.request url = ..., timeout=None) url     需要打开网站 data     psot提交数据 Timeout        网站访问超时时间 但是没法伪装我们头信息 from urllib

    39110
    领券