所以我問了很多關於這個主題的問題,我很抱歉。但是就是這樣。鏈接提取列表
所以我有這樣的代碼:
import urllib
import urllib.request
from bs4 import BeautifulSoup
import sys
from collections import defaultdict
m_num=int(input('Enter number of monsters to look up: '))
for x in range(m_num):
name=input("Enter a monster's name: ")
url_name=name.replace(' ','_')
url=('http://yugioh.wikia.com/wiki/Card_Tips:{}'.format(url_name))
page = urllib.request.urlopen(url)
soup = BeautifulSoup(page.read())
content = soup.find('div',id='mw-content-text')
links = content.findAll('a')
link_lists = defaultdict(list)
for link in links:
link_lists[x].append(link.get('title'))
all_lists = list(link_lists.values())
common_links = set(all_lists[0]).intersection(*all_lists[1:])
print('common links: ',common_links)
我試圖做的是有多少怪物的數量用戶指定的許多名單是如何creatd。然後,每個列表都會填入該特定網站的所有鏈接。然後在所有列表中進行比較,看它們是否有類似的字符串。 (希望這是有道理的)。
所以我遇到的問題是,當我運行它,它到達print('common links:',common_links)
部分它只打印出最後一個列表。它不會比較列表,也不會意識到其他列表已創建。
任何人都可以伸出援手嗎?我一直在解決這個問題,我只是卡住了。
無需確定需要先驗多少名單。相反,使用循環爲每個怪物創建一個新列表。 – bernie 2013-05-09 20:06:39
我需要使用類似的東西來做到這一點嗎? 'locals()['list {}'.format(str(i))] = []' – user1985351 2013-05-09 21:41:36