我能夠從網站上刮下單個欄位,但想將標題映射到時間。
欄位“有自己的類,所以我正在努力研究如何將時間映射到標題。
字典可以作業,但是我如何構造/格式化這個字典以便它逐行存盤值?
網址供參考 - https://ash.confex.com/ash/2021/webprogram/STUDIO.html
預期輸出:
9:00 AM-9:30 AM,定義種族、民族和遺傳祖先
11:00 AM-11:30 AM,結構性種族主義的定義
等等
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome()
import time
driver.get('https://ash.confex.com/ash/2021/webprogram/STUDIO.html')
time.sleep(3)
page_source = driver.page_source
soup=BeautifulSoup(page_source,'html.parser')
productlist=soup.find_all('div',class_='itemtitle')
for item in productlist:
for eachLine in item.find_all('a',href=True):
title=eachLine.text
print(title)
times=driver.find_elements_by_class_name("time")
for t in times:
print(t.text)
uj5u.com熱心網友回復:
硒在這里是一種矯枉過正。網站沒有使用任何動態內容,因此您可以使用 Pythonrequests和BeautifulSoup. 這是一個如何實作它的代碼。您需要分別查詢productlist和times,然后使用索引進行迭代,以便能夠同時獲取兩個專案。我輸入range()了 an 的長度,productlist因為我假設productlist和 的times長度相等。
import requests
from bs4 import BeautifulSoup
url = 'https://ash.confex.com/ash/2021/webprogram/STUDIO.html'
res = requests.get(url)
soup = BeautifulSoup(res.content,'html.parser')
productlist = soup.select('div.itemtitle > a')
times = soup.select('.time')
for iterator in range(len(productlist)):
row = times[iterator].text ", " productlist[iterator].text
print(row)
注意:soup.select()通過 css 收集專案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/350547.html
上一篇:在字典的串列中只有1x值
下一篇:Python-動態字典的家庭作業
