2
我正在嘗試編寫一個程序來檢索在特定標記中具有活動獎勵的問題的所有鏈接。我還沒有實現特定的標記功能,因爲我只是試圖獲得所有的鏈接。檢索堆棧溢出的所有功能問題
from re import findall
from urllib.request import urlopen
def fetch_source(url):
return str(urlopen(url).read())
site = 'http://stackoverflow.com/?tab=featured'
def fetch_links(source):
source = fetch_source(source)
return findall("\/questions\/[0-9]*\/(?:[A-z]|\-)+", source)
print(fetch_links(site))
這將會獲取很多的聯繫,但它錯過了很多人,因爲我的正則表達式只允許在標題[A-z]|\-
。我不知道如何解決這個問題,因爲有些問題在標題中有引號,如果我允許這些問題,我不會知道問題鏈接何時結束?
我很抱歉被新的python,但我只是想弄清楚。
你不應該獲取與re.findall鏈接。改爲使用Stack Exchange API。 –
只有fyi'[A-z]'相當於'[A-Z \ [\\\]^_ \'a-z]' – sln