Основываясь на ответе на здесь о подобной вещи, я попытался очистить текст впечатлений от Erowid. URL имеет кучу ссылок на поездки. Я хочу щелкнуть каждую ссылку, а затем напечатать элемент 'report-text-surround'
, который является текстом поездки.Selenium, Python 3, простой текст соскабливания от Erowid LSD?
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.erowid.org/experiences/exp.cgi?S1=2&S2=-3&C1=9&Str=')
#I tried to get hrefs by xpath, knowing that each trip links starts with 'exp.php?ID'.
view_links = driver.find_elements_by_xpath("""//*[contains(text(), 'exp.php?ID')]""")
for index, view in enumerate(view_links):
html = view.get_attribute('innerHTML')
href = html.split('"')[1]
view_links[index] = href
#And then visit each href and get the data
for href in view_links:
driver.get(href)
#I know this is the element containing the trip text.
trip_text = driver.find_elements_by_class_name('report-text-surround')
for trip in trip_text:
print (trip.text.encode('utf-8'))