Urllib2返回带有空体的html

时间:2015-04-12 16:34:32

标签: python html google-chrome request urllib2

我很好奇为什么urllib2模块返回带有空体的html。我确定我在那里放了一个正确的网址。即使我尝试使用chrome查看源代码,该页面也不会显示整个HTML代码。以下是其中一个页面:http://www.firmy.cz/Velkoobchod-a-vyroba/Vyrobci-papiroveho-a-polygrafickeho-zbozi/Nakladatele-a-vydavatele?geo=0

如何解决这个问题?

这是我的一段代码,但我认为问题是在其他地方根据chrome显示相同的代码。

def getSoup(url):
    req = urllib2.Request(url)
    response = urllib2.urlopen(req)
    page = response.read()
    soup = BeautifulSoup(page, 'lxml')
    return soup

此代码返回:

...
..
.. some head etc...
<meta content="!" name="fragment"/>
</head>
<body class="root" id="root"></body>
</html>

如你所见,身体是空的。

1 个答案:

答案 0 :(得分:0)

仅返回response.read()并将其解析为移除换行符

url = "http://www.firmy.cz/Velkoobchod-a-vyroba/Vyrobci-papiroveho-a-polygrafickeho-zbozi/Nakladatele-a-vydavatele?geo=0"

def getSoup(url):
    req = urllib2.Request(url)
    response = urllib2.urlopen(req)
    page = response.read()
    response.close()
    return page

def do_whatever_you_want_with_response():
    page = getSoup(url)
    print page
    return page