Приложение Web Scraping с использованием Scrapy / Selenium выдает ошибку: "ModuleNotFoundError 'selenium'" - PullRequest
0 голосов
/ 10 октября 2019

Доброе утро!

Я недавно начал изучать Python и приступил к применению того небольшого, что я знаю, для создания чудовища, показанного ниже.

Вкратце: я пытаюсь очистить SEC Edgar (https://www.sec.gov/edgar/searchedgar/cik.htm) для CIK-кодов компаний, которые я хочу изучить более подробно (сейчас только 1 компания, чтобы увидеть, если это правильный подход).

Чтобы очистить CIK-код, я создалПаук scrapy, импортировал селен и создал 3 функции - 1-я для вставки «названия компании» во имя ввода, 2-я для активации кнопки «отправить» и, наконец, функция для очистки кода CIK после активации отправки и возврата элемента.

Помимо добавления элемента в items.py, я не изменил промежуточное программное обеспечение или настройки. По какой-то причине я получаю ModuleNotFoundError для 'selenium', хотя я установил пакеты и импортировал selenium & webdriver вместе ссо всем остальным.

Я пытался возиться с отступом и перефразировал код, но не добился улучшенияvement.

 import selenium
 from selenium import webdriver
 import scrapy
 from ..items import Sec1Item
 from scrapy import Selector


class SecSpSpider(scrapy.Spider):
    name = 'SEC_sp'
    start_urls = 
['http://https://www.sec.gov/edgar/searchedgar/cik.htm/']


  def parse(self,response):
    company_name = 'INOGEN INC'
    return scrapy.FormRequest.from_response(response, formdata ={
        'company': company_name
    }, callback=self.start_requests())


  def start_requests(self):
    driver = webdriver.Chrome()
    driver.get(self.start_urls)
    while True:
        next_url = driver.find_element_by_css_selector(
            '.search-button'
        )
        try:
            self.parse(driver.page_source)
            next_url.click()
        except:
            break
    driver.close()

  def parse_page(self, response):
    items = Sec1Item()
    CIK_code = response.css('a::text').extract()
    items["CIK Code: "] = Sec1Item

    yield items

Кажется, я не могу преодолеть ошибку импорта селена, поэтому я не уверен в степени необходимых корректировок для оставшейся части моего паука.

Ошибкасообщение:

"File/Users/user1/PycharmProjects/Scraper/SEC_1/SEC_1/spiders/SEC_sp.py", line 1, in <module>
    import selenium
ModuleNotFoundError: No module named 'selenium'

Спасибо за любую помощь и помощь!

...