【发布时间】:2021-05-17 15:29:10
【问题描述】:
我有一个 for 循环来抓取 HTML 页面中的特定 url,我的目标是将所有抓取的 URL 存储到一个列表中。
for page in range(total_pages): #run through all pages
url = token + str(page+1)
r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml') # parse page
for link in soup.find_all('a', {'data-track': 'download'}, href=re.compile("atec")):
all_atec = (link.get('href'))
print(all_attec)
当我在 for 循环中打印 links 时,我拥有所有 URL:
http://www.cstb.fr/pdf/atec/GS07-H/AH191758_V2.pdf
http://www.cstb.fr/pdf/atec/GS07-H/AH191759_V2.pdf
http://www.cstb.fr/pdf/atec/GS20-U/AU14333_V1.pdf
http://www.cstb.fr/pdf/atec/GS02-C/AC2161731_V1.pdf
http://www.cstb.fr/pdf/atec/GS02-C/AC2161730_V1.pdf
http://www.cstb.fr/pdf/atec/GS02-C/AC2131565_V2.pdf
如果我在循环外打印links,我只有第一个 URL。如何将所有 URL 存储在列表中?
【问题讨论】:
标签: python list loops web-scraping beautifulsoup