urllist = ['http://example.com',
'http://example1.com']
i = 0
while i < len(urllist):
source = urllib.urlopen(urllist[i]).read()
regex = '(\d{3})/">(\w+\s-\s\w+)</a>' # e.g. '435', 'Tom-Jerry'
p = re.compile(regex)
db = re.findall(p, source)
db = [tuple(filter(None, t)) for t in db]
hero_id = []
for j in db:
hero_id.append(j[0])
i += 1
print hero_id
需要注意的是:db = [tuple(filter(None, t)) for t in db]
db
是這樣的元組的列表:[('564', 'Tom', 'Jerry'), ('321', 'X-man', 'Hulk')]
。在hero_id = []
線上,一切都像一個魅力。 for foop需要附加每個數字(來自urllist
的每個網址)。它的部分工作。在末尾hero_id
列表只包含最後一個網址中的數字(之前的數字已消失)。想法?追加號碼列表
使用'requests'庫,或粘到STDLIB,使用'urllib2.urlopen'替代將是一個好主意...... – 2013-03-09 21:43:49
請求並沒有真正necesarry,除非你需要aditional的數據發送到該網址或使用或代理或其他高級設置,雖然我同意urllib2比urllib更好,但這是nutship的決定,不是我的。 – 2013-03-09 21:49:49