python

Python抓取网页时GBK编码转UTF-8

用chardet模块检测出网页是ISO-8859-2的编码,西欧语言,这明显是不正确的,推测可能是网页中包含的某些特殊字符造成检测结果出错。

直接使用html.decode(‘gbk’).encode(‘utf-8’)则报错,那么可以简单地加一个参数让解码过程中出现错误自动忽略,即html.decode(‘gbk’, ‘ignore’).encode(‘utf-8’)

中文便能正确显示了。

BeautifulSoup中findAll和find_all是否有区别

在一个爬虫代码里看到这两种用法,一直不敢确定它们是否一致,搜了一下。

The methods are exactly the same; the mixed-case versions (findAll, findAllNext,nextSibling, etc.) have all been renamed to conform to the Python style guide, but the old names are still available to make porting easier. See Method Names for a full list.

In new code, you should use the lowercase versions, so find_all, etc.
嗯,翻译下大致的意思
这两个方法是完全相同的。大小写混合的版本(比如findAll,findAllNext,nextSibing)已经全部重命名以便适应《Python样式向导》,不过为了方便起见,老的名字仍然可用。完整的列表可以参考《方法名》。

在新代码中,你应该使用小写版本,就像find_all这样的。