试图抓取一个网站,但没有得到

时间:2012-12-26 23:34:04

标签: python beautifulsoup

我正在玩游戏并想在发布论坛帖子中的新帖子时给自己发送电子邮件,但是当我用urllib.urlopen打开网址时,我会回到网页但没有页面正文。有人可以告诉我为什么会这样吗?我怎么能得到身体?

def loadUrl(adress): 
  adress = urllib.unquote(adress)
  print("Loading " + adress)
  socket =urllib.urlopen(adress)
  html = socket.read()
  socket.close()
  soup = BeautifulSoup(html)
  return soup


soup = loadUrl("http://de.pokerstrategy.com/forum/thread.php?threadid=498111")

3 个答案:

答案 0 :(得分:3)

此外,我建议使用Pyquery

from pyquery import PyQuery
d = PyQuery("http://de.pokerstrategy.com/forum/thread.php?threadid=498111")

print d("body").html()

答案 1 :(得分:1)

编辑抱歉,我没有意识到您发布了您尝试检索的网址。我得到了与你相同的回答,并且不确定为什么。我在javascript中看不到任何内容,正如我在下面建议的那样。

我测试了你的代码,似乎工作正常。也许您尝试检索的页面通过javascript或类似的东西生成body元素。在这种情况下,我相信您可以使用类似selenium的内容来模拟浏览器。

答案 2 :(得分:0)

我使用BeautifulSoupurllib2成功使用,例如:

from urllib2 import urlopen
...
html = urlopen(...)
soup = BeautifulSoup(html)