我想通過點擊歌曲來抓取以下網(wǎng)站上的每一頁:https://www.top40.nl/top40/2020/week-34(每年和周數(shù)),然后移動到“songinfo”,然后抓取表中列出的所有數(shù)據(jù)。對于這個問題,我到目前為止只刮了標題。這是我使用的網(wǎng)址: url = 'https://www.top40.nl/top40/'但是,當(dāng)我打印歌曲列表時,它只會返回網(wǎng)站上的最后一個標題。因此,我相信我正在重寫。希望有人能解釋我犯了哪些錯誤,以及是否有更簡單的方法來清除每一頁上的表格,很高興聽到。請在下面找到我的Python代碼:for year in range(2015,2016): for week in range(1,2): page_url = url+str(year) + '/' + 'week-' + str(week) driver.get(page_url) lists = driver.find_elements_by_xpath("//a[@data-linktype='title']") links = [] for l in lists: print(l.get_attribute('href')) links.append(l.get_attribute('href')) for link in links: driver.get(link) driver.find_element_by_xpath("//a[@href='#songinfo']").click() songs = driver.find_elements_by_xpath(""".//*[@id="songinfo"]/table/tbody/tr[2]/td""") songs_list = [] for s in songs: print(s.get_attribute('innerHTML')) songs_list.append(s.get_attribute('innerHTML'))```
1 回答

12345678_0001
TA貢獻1802條經(jīng)驗 獲得超5個贊
該行songs_list = []位于for link in links循環(huán)內(nèi)部,因此每次新的迭代都會將其設(shè)置為空列表(然后附加到這個新的空列表)。結(jié)束所有循環(huán)后,您只能看到songs_list創(chuàng)建的循環(huán)。
最簡單的解決方法是將行放在songs_list = []所有 for 循環(huán)之外,例如:
songs_list = []
for year in range(2015,2016):
for week in range(1,2):
# etc
添加回答
舉報
0/150
提交
取消