Urllib2变为乱码而不是页面源

时间:2015-09-05 08:10:16

标签: python urllib2

当我使用urllib2抓取webpage时,我无法获取页面源,而是一个乱码的字符串,我无法理解它是什么。我的代码如下:

url = 'http://finance.sina.com.cn/china/20150905/065523161502.shtml'
conn = urllib2.urlopen(url)
content = conn.read()
print content

任何人都可以帮我找出问题所在吗?非常感谢你。

更新:我认为您可以运行上面的代码来获取我得到的内容。以下是我在python中得到的:

{G≤0?????????C0≤K≤z≤%E     |?B ?? |?F?oeB?'?? M6?                                     ÿ??? ???〜;Ĵ????ħ????大号MV: - :] 0Z WT6 + Y + LV???? VisV:캆P Y [?                                                                                     ö米P [8 -8米3 / ??? Y] ???? F |???X〜法] S op1Mħimm5 ??克?????ķK#|?????? ? ???????号码:Ø (?P?FThq1 ?? N4 ?? P ??? X ?? L D F ??? 6 ?? z?0 [?} ?? z ?? | ?? +?pR“s? ?LQ ??&安培;??克·V [((j〜?? W1 @ - 克8- ???'V + KS0 ?????%??? 5)

这就是我的预期(使用curl):

<html>
<head>
<link rel="mask-icon" sizes="any" href="http://www.sina.com.cn/favicon.svg" color="red">
<meta charset="gbk"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />

1 个答案:

答案 0 :(得分:1)

以下是使用requestsBeautifulSoup

获取源信息的可能方法
import requests 
from bs4 import BeautifulSoup

#Url to request
url = "http://finance.sina.com.cn/china/20150905/065523161502.shtml"
r = requests.get(url)

#Use BeautifulSoup to organise the 'requested' content 
soup=BeautifulSoup(r.content,"lxml")
print soup