所以我问了很多关于这个主题的问题,我很抱歉。但是就是这样。链接提取列表
所以我有这样的代码:
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