当我使用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" />
答案 0 :(得分:1)
以下是使用requests
和BeautifulSoup
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