我很好奇为什么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>
如你所见,身体是空的。
答案 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