0

我在玩,想在论坛帖子出现新帖子时给自己发一封电子邮件,但是当我用 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")
4

3 回答 3

3

另外,我建议使用Pyquery

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

print d("body").html()
于 2012-12-26T23:46:51.243 回答
1

编辑对不起,我没有意识到您已经发布了您要检索的网址。我得到了和你一样的反应,不知道为什么。正如我在下面建议的那样,我在 javascript 中看不到任何内容。

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

于 2012-12-26T23:40:44.473 回答
0

我已经成功使用BeautifulSoupwith urllib2,例如:

from urllib2 import urlopen
...
html = urlopen(...)
soup = BeautifulSoup(html)
于 2012-12-26T23:40:55.180 回答