目前,有一个游戏有不同的群体,你可以每小时玩一个奖金'金'。有时候有金子,有时却没有。它每小时都会在facebook上发布'group2中的黄金'或'group6'中的黄金,而其他时间由于没有黄金作为该小时的奖品而没有帖子。我想写一个小脚本,每小时检查一次网站并获取结果(如果有黄金或没有黄金,以及哪个组)并将其显示给我。因为我正在学习它,所以我想在python中编写它。这会是最好用的语言吗?我该怎么做呢?我真正能找到的是有关提取链接的信息。我不想提取链接,只提取文本。感谢您的帮助。我很感激。
答案 0 :(得分:1)
查看urllib2
以获取来自网址的html和BeautifulSoup
/ HTMLParser
/等来解析html。然后,你可以使用这样的东西作为脚本的起点:
import time
import urllib2
import BeautifulSoup
import HTMLParser
def getSource(url, postdata):
source = ""
req = urllib2.Request(url, postdata)
try:
sock = urllib2.urlopen(req)
except urllib2.URLError, exc:
# handle the error..
pass
else:
source = sock.read()
finally:
try:
sock.close()
except:
pass
return source
def parseSource(source):
pass
# parse source with BeautifulSoup/HTMLParser, or here...
def main():
last_run = 0
while True:
t1 = time.time()
# check if 1 hour has passed since last_run
if t1 - last_run >= 3600:
source = getSource("someurl.com", "user=me&blah=foo")
last_run = time.time()
parseSource(source)
else:
# sleep for 60 seconds and check time again.
time.sleep(60)
return 0
if __name__ == "__main__":
sys.exit(main())
这是一篇关于parsing-html-with-python
的好文章答案 1 :(得分:1)
我有类似于你所拥有的东西,但你遗漏了我的主要问题。我查看了htmlparser和bs,但我不确定如何做if if($ posttext == gold)echo“gold in so so so so so so so”...似乎bs与标签交易很多..我想因为facebook帖子可以使用各种标签,我将如何只搜索文本并返回“帖子”?