Я хочу, чтобы загрузить данные из Yahoo Finance http://finance.yahoo.com/q/hp?s=^TWII&a=00&b=15&c=2004&d=11&e=4&f=2015&g=mSCRAPY: как ввести аргумент в пустом пространстве
Я хочу, чтобы программа типа «2004» в год пространстве начала и «2015» в конце года пространство. Как я могу это сделать?
Мои коды выглядеть следующим образом:
import scrapy
from selenium import webdriver
import time
from scrapy.selector import Selector
from scrapy.selector import HtmlXPathSelector
from taiex.items import taiexItem
import unicodecsv as csv
class taiex_spider(scrapy.Spider):
name = 'taiex_spider'
allowed_domains = ['finance.yahoo.com/']
start_urls = ['http://finance.yahoo.com/q/hp?s=^TWII&a=00&b=15&c=2004&d=11&e=4&f=2015&g=m']
def __init__(self):
self.driver = webdriver.Firefox()
def parse(self, response):
items = []
item = taiexItem()
driver = self.driver
driver.get(response.url)
driver.find_element_by_css_selector('select[id="selstart"]>option[value="00"]').click()
driver.find_element_by_css_selector('select[id="selend"]>option[value="11"]').click()
driver.find_element_by_xpath('//input[@id="monthly"]').click()
driver.find_element_by_xpath('//input[@class="rapid-nf"]').click()
driver.find_element_by_partial_link_text('Download to Spreadsheet').click()
Вы можете сделать все это без селена только с помощью Scrapy, есть даже CSV они предоставляют, что вы можете скачать http://stackoverflow.com/questions/35438381/how-to-import-a-table-with-headings-to-a-data-frame-using-pandas-module/35441264 # 35441264. Существует также Yahoo json apihttp: //stackoverflow.com/a/35541497/2141635 –