我想要一個陣列,urls[]以便我可以檢查和洗掉重復項。我當前的代碼看起來像
match2 = soup.find_all("a", href=True, target="_blank");
for match2 in match2:
if match2['href'][0] == ".":
imageUrl = url.split("/")[2] "/" url.split("/")[3] "/src/" match2['href'].split("/")[-1];
urls = [];
urls.append(imageUrl);
print("array");
for i in urls:
print(i);
但是當我運行代碼時,只有一個元素,urls[]而應該有更多元素。如何將結果分配給match2陣列?
uj5u.com熱心網友回復:
考慮在 for 回圈之外初始化您的 URL 串列,這樣它就不會被覆寫。
當對 iterable 變數和 list 使用相同的變數時,您的 for 回圈標頭也可能會產生意想不到的后果for match2 in match2。
match2 = soup.find_all("a", href=True, target="_blank");
urls = []
for entry in match2:
if entry['href'][0] == ".":
imageUrl = url.split("/")[2] "/" url.split("/")[3] "/src/"
entry['href'].split("/")[-1];
urls.append(imageUrl);
print("array");
for i in urls:
print(i);
uj5u.com熱心網友回復:
每次輸入 if 時都會覆寫 url。你需要在回圈之外宣告它:
urls = [];
match2 = soup.find_all("a", href=True, target="_blank")
for match2 in match2:
if match2['href'][0] == ".":
imageUrl = url.split("/")[2] "/" url.split("/")[3] "/src/" match2['href'].split("/")[-1]
urls.append(imageUrl)
print("array")
for i in urls:
print(i)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/365843.html
