Urllib.请求和BeautifulSoup



我有一个字典,其中键是和imdb id,值是所述imdb id的发布年份。例如:dictionary.key = 1898069 dictionary.value ="2017"

我对下面代码的问题是,当我print(x[foo_indexes[0]].split("(", 1)[0].strip())时,它非常干净,例如Netflix

,但当我试图追加到一个列表,例如dist.append(x[foo_indexes[0]].split("(", 1)[0].strip()),我得到所有的HTML代码预清洗和每个显示副本在最后。

我一步一步地做,在打印/追加阶段出现了问题。有人能指出这个问题吗?谢谢你。

dist = []
for imdb, ry in imdb_year.items():    
url = "https://www.imdb.com/title/tt"+imdb+"/companycredits?ref_=tt_ql_dt_4"
html = urlopen(url)
soup = BeautifulSoup(html, "html.parser")
# soup.title.text
try:
dist = soup.find_all('ul', {'class':'simpleList'})
x = dist[1].text.split('n')
foo_indexes = [i for i, s in enumerate(x) if ry and "USA" in s]
dist.append(x[foo_indexes[0]].split("(", 1)[0].strip())
except:
dist.append('None')

您有一个名为dist的空列表,您再次使用dist作为bs4 findall的结果…

然后,当你不得不dist你的结果,它会添加到dist从bs4!!以下是正确答案:

dist2 = []
for imdb, ry in imdb_year.items():    
url = "https://www.imdb.com/title/tt"+imdb+"/companycredits?ref_=tt_ql_dt_4"
html = urlopen(url)
soup = BeautifulSoup(html, "html.parser")
# soup.title.text
try:
dist = soup.find_all('ul', {'class':'simpleList'})
x = dist[1].text.split('n')
foo_indexes = [i for i, s in enumerate(x) if ry and "USA" in s]
dist2.append(x[foo_indexes[0]].split("(", 1)[0].strip())
except:
dist2.append('None')

相关内容

  • 没有找到相关文章

最新更新