全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
123
返回列表 发新帖
楼主: flydon
打印 上一主题 下一主题

PYTHON 获取GB2312的问题

[复制链接]
21#
发表于 2015-12-3 09:54:36 | 只看该作者
flydon 发表于 2015-12-3 09:44
你这个是GBK和GB2312差别略大把。另外BS没4只有3,PY2不支持4.



你确定吗……为什么没有……
欢迎你到官网巴拉巴拉……https://pypi.python.org/pypi/beautifulsoup4/4.4.1

gbk跟gb2312这几个原理都是共同的……
22#
 楼主| 发表于 2015-12-3 09:59:18 | 只看该作者
jsenet 发表于 2015-12-3 09:48
我测试下。。。url就换笔趣阁吧  也是gbk的

你们都是用urllib2的。我用的是requests,我看了你的是直接在获取文件之后就转码了。但是我发现用你的思路,但是pycharm给我报错了。requests后只一个response 获取文件后是.text 但是转码后什么东西都没了。
23#
 楼主| 发表于 2015-12-3 10:06:10 | 只看该作者
HelloAoA 发表于 2015-12-3 09:54
你确定吗……为什么没有……
欢迎你到官网巴拉巴拉……https://pypi.python.org/pypi/beautifulsoup4/4 ...

好吧,我是新手。。我先用你的脚本看看。
24#
 楼主| 发表于 2015-12-3 10:12:26 | 只看该作者
HelloAoA 发表于 2015-12-3 09:28
pydev测试通过,原来写的……还有192.。。。这货还要自己搞……有些编码器不支持中文,还有bs4的能够直接 ...

这个脚本在我这里出现了如下错误
  1. Encoding:  ISO-8859-1
  2. Get Url : http://www.biquge.la/book/176/5054609.html
  3. Status Code:  200
  4. Traceback (most recent call last):
  5.   File "E:/python/1GB/main.py", line 35, in <module>
  6.     soup = BeautifulSoup(content_html,"lxml")
  7.   File "build\bdist.win32\egg\BeautifulSoup.py", line 1522, in __init__
  8.   File "build\bdist.win32\egg\BeautifulSoup.py", line 1147, in __init__
  9.   File "build\bdist.win32\egg\BeautifulSoup.py", line 1189, in _feed
  10.   File "C:\Python27\lib\sgmllib.py", line 104, in feed
  11.     self.goahead(0)
  12.   File "C:\Python27\lib\sgmllib.py", line 174, in goahead
  13.     k = self.parse_declaration(i)
  14.   File "build\bdist.win32\egg\BeautifulSoup.py", line 1463, in parse_declaration
  15.   File "C:\Python27\lib\markupbase.py", line 109, in parse_declaration
  16.     self.handle_decl(data)
  17.   File "build\bdist.win32\egg\BeautifulSoup.py", line 1448, in handle_decl
  18.   File "build\bdist.win32\egg\BeautifulSoup.py", line 1381, in _toStringSubclass
  19.   File "build\bdist.win32\egg\BeautifulSoup.py", line 1251, in endData
  20. AttributeError: 'str' object has no attribute 'text'
复制代码
25#
发表于 2015-12-3 10:18:56 | 只看该作者
flydon 发表于 2015-12-3 10:12
这个脚本在我这里出现了如下错误

三个方法,因为我也是彩笔,这样看看不懂的……
1、把soup = BeautifulSoup(content_html,"lxml")中的lxml去掉,只保留soup = BeautifulSoup(content_html)
2、用三个'注释掉bs的,头文件也注释只用看lxml的
3、bs你可以先配置一下,网上的小脚本测试一下……
我用的就是requests,你可以用
  1. print 'Encoding: ',r.encoding
  2. print 'Get Url :',url
  3. print 'Status Code: ',r.status_code
复制代码

得到返回编码,返回地址,返回状态码,编码搞不定的就百度 python 编码-》utf8
26#
 楼主| 发表于 2015-12-3 11:11:43 | 只看该作者
HelloAoA 发表于 2015-12-3 10:18
三个方法,因为我也是彩笔,这样看看不懂的……
1、把soup = BeautifulSoup(content_html,"lxml")中的lxm ...

- -是BS版本的问题。我的PY2.9只装了BS3 所以出问题了。。装BS4就OK了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-28 04:18 , Processed in 0.089258 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表