2011-10-20 110 views
0

目前,有一款遊戲擁有不同的羣組,您可以每小時玩一次「黃金獎」。有時候有黃金,有時候沒有。它每小時在facebook上發佈「group2中的黃金」或「group6中的黃金」,而其他時間由於沒有黃金作爲該小時的獎品而沒有帖子。我想寫一個小腳本,每小時檢查一次該網站,並獲取結果(如果有或沒有金子,以及什麼組),然後顯示給我。我想在Python中編寫它,因爲我正在學習它。這是最好的語言嗎?我怎麼去做這件事?我真正能夠找到的是關於提取鏈接的信息。我不想提取鏈接,只是文本。感謝任何和所有的幫助。我很感激。從網站獲取文本並將其顯示回

回答

1

檢出urllib2從網址獲取HTML和BeautifulSoup/HTMLParser/etc來解析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

+0

另請參閱:lxml.html – Lionel

1

我有類似的東西給你什麼,而是你留下了什麼我的主問題圍繞着。我看着htmlparser和bs,但我不確定如何做一些事情,如if($ posttext == gold)echo「gold in so so so」..看起來像bs處理很多標籤..我想因爲facebook的帖子可以使用各種標籤,我將如何去做只是對文本的搜索,並返回'後'?

相關問題