Для цикла, возвращающего только один вывод в файл CSV
В настоящее время работаю над небольшим интернет-магазином, чтобы помочь на работе. У меня это работает, но в выходном файле CSV он возвращает только первое "возвращение" из поискового запроса.
Как я могу заставить это продолжаться только после первого пункта при очистке?
from splinter import Browser
executable_path = ('C:\Users\Dillon\Anaconda2\envs\Scripting\Lib\site-packages\splinter\driver\webdriver\chrome')
import pandas as pd
url = "http://www.sciencedirect.com/"
browser = Browser('chrome') # open a chrome browser
browser.visit(url) # goes to the url
search_bar_xpath = '//*[@id="search-input"]'
search_bar = browser.find_by_xpath(search_bar_xpath)[0] # find_by_xpath returns a list, so index 0
search_bar.fill("oxygen scavenging") # simulate typing
search_button_xpath = '//*[@id="quicksearch"]/div/form/div[6]/div[2]/input'
search_button = browser.find_by_xpath(search_button_xpath)[0]
search_button.click() # simulate clicking
search_results_xpath = '//*[@id="main_content"]/main/div[1]/div[2]/div[2]/ol/li[1]/div/div/h2/a'
search_results = browser.find_by_xpath(search_results_xpath) # returns list of link elements
# iterate through list of link elements
scraped_data = []
for search_result in search_results:
title = search_result.text.encode('utf8') # trust me, clean data
link = search_result["href"]
scraped_data.append((title, link))
# put all the data into a pandas dataframe
df = pd.DataFrame(data=scraped_data, columns=["title", "link"])
df.to_csv("links.csv") # export to csv
Это довольно простой сценарий, и выходные данные чистые / структурированные, но мне нужен код, чтобы повторить процесс, чтобы повторить каждый последовательный элемент, заданный в результате поиска. В конце концов, как только я заставлю это работать, мне нужно будет переходить от страницы к странице, пока не закончится ввод.