pythonurllib中文
① python抓取网页中文信息
#-*-coding:utf-8-*-
importurllib
importre
#使用正则表达式限定抓取的网页地址
regex=r'<ahref="(.+?)"target="_blank"><strongclass="'
pat=re.compile(regex)
page=1
url="
info=urllib.urlopen(url).read()
Sub_pages=re.findall(pat,info)
#获得网址中所有产品信息
regex=r'<td>(.+?) </td>'
pat=re.compile(regex)
forpageinSub_pages:
content=urllib.urlopen(page).read()
info=re.findall(pat,content)
print' '.join(info)#改成这样试试
② Python3.x urllib 或 requests 可以 post 中文吗
1. post 过去是什么就是什么,这个都是看后台如何写的。根本不需要做什么 encode 。
2. 如果你的问题是 post 过去的中文乱码了?是不是服务器中文没有使用 utf8 编码,大家都用 utf8 就好了。或者你匹配后端的编码格式。
3. 其实这个和 python 没关系,这就是标准 http 呀,你用 curl\postman 等工具都可以 post 。 python post 方式和他们一样的,只是用 python 代码实现而已。
③ 如何在urllib2中post中文(Python)
那个参数字符串可能会是中文,就直接param_text.encode('utf-8'),不要等到最后再集中编码。
④ python ,urllib2下载一个网页文件,下载文件中文乱码,该如何转换成正常数据呢如图
网页一般是utf-8的编码,你输出出来用gbk或gb2312的编码试试
⑤ [Python 2.7]请教一个urllib.unquote函数write乱码的问题(utf-8和gbk相关)
这个问题挺好回答的。涉及三个问题:
windows下,命令行下缺省是只支持GBK,GB18030。 所以print的内容如果是unicode或者是GBK结尾自然可以。东方名珠被unquote后,它是UTF-8编码。所以直接print无效。乱码。
记事本,会自动编码识别,支持GBK,UTF-8。不过优先选择GBK。
quote与unquote只会将byte做一次escap后,变成URL规范的东西。并不会改变原始内容的编码。
还有疑问吗?
⑥ python如何打开中文网址
因为不支持中文路径 所以中文命名的网页和文件夹在浏览器中用HTTP的方式访问是打不开的 只能用英文
⑦ python怎么读
python 英[ˈpaɪθən] 美[ˈpaɪθɑːn]
Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。
Python是一种解释型脚本语言,可以应用于以下领域:
1、Web 和 Internet开发
2、科学计算和统计
3、教育
4、桌面界面开发
5、软件开发
6、后端开发
(7)pythonurllib中文扩展阅读
因为python的脚本特性,python易于配置,对字符的处理也非常灵活,加上python有丰富的网络抓取模块,所以两者经常联系在一起。 简单的用python自己的urllib库也可以;用python写一个搜索引擎,而搜索引擎就是一个复杂的爬虫。从这里你就了解了什么是Python爬虫,是基于Python编程而创造出来的一种网络资源的抓取方式,Python并不是爬虫。
抓取的网页通常需要处理,比如过滤html标签,提取文本等。python的beautifulsoap提供了简洁的文档处理功能,能用极短的代码完成大部分文档的处理。
⑧ python的urllib库中的parse.urlencode不是已经编码了吗,为什么还要encode(“utf-8”)
urlencode这个是urlencode,这个编码是把特殊字符用%20之类的东东替换,
utf8是设置字符编码的,如果有中文防止产生路乱码
⑨ python怎么将url的中文怎么转码
先引入urllib模块
假如我们要对下面的url进行转码,注意观察各种字符的变化
使用quote方法,进行转码
我们看看转码得到的结果:
我们想要得到原先的url,可以使用quote的逆函数unquote
得到反转码以后的url,我们看到这种方法并没有返回中文字符。
⑩ python在网页上爬取数据然后输入mysql,python中直接输出是中文,在mysql的表中打开变成乱码了。
你如果是用 MySQLdb 操作的数据库,那么执行完sql语句后需要commit。例:
conn = MySQLdb.connect(user='xxx', db='xxx', passwd='xxx', host='127.0.0.1', use_unicode=True, charset='utf8')
cur = conn.cursor()
cur.execute('update table set xxx=xxx')
conn.commit()
cur.close()
conn.close()