【发布时间】:2021-04-26 06:25:28
【问题描述】:
我想从多个网页中提取链接。提取时一切正常,但对于多个 url,第一个 url 得到两次,最后一个没有得到。这是什么原因?
import re
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import csv
from bs4 import BeautifulSoup
URLs = ["https://www.oddsportal1.com/soccer/turkey/super-lig-2019-2020/results/#/page/1","https://www.oddsportal1.com/soccer/turkey/super-lig-2019-2020/results/#/page/2",
"https://www.oddsportal1.com/soccer/turkey/super-lig-2019-2020/results/#/page/3","https://www.oddsportal1.com/soccer/turkey/super-lig-2019-2020/results/#/page/4","https://www.oddsportal1.com/soccer/turkey/super-lig-2019-2020/results/#/page/5",
"https://www.oddsportal1.com/soccer/turkey/super-lig-2019-2020/results/#/page/6","https://www.oddsportal1.com/soccer/turkey/super-lig-2019-2020/results/#/page/7"]
driver = webdriver.Chrome(ChromeDriverManager().install())
file = open('linkler.csv', 'w+', newline='')
writer = csv.writer(file)
writer.writerow(['linkler'])
for link in URLs:
driver.get(link)
html_source = driver.page_source
soup = BeautifulSoup(html_source, "html.parser")
for links in soup.findAll('a', attrs={'href': re.compile("^/soccer/turkey/super-lig-2019-2020/")}):
writer.writerow([links.get('href')])
driver.quit()
【问题讨论】:
-
“最后一个没有得到”是什么意思 - 请详细解释并改进您的问题。谢谢
-
我的意思是url列表中的最后一个url。
标签: python selenium web-scraping beautifulsoup