Синтаксическая ошибка при попытке разделить большой CSV-файл для загрузки URL-адресов в Scrapy для сканирования / извлечения в CSV-вывод? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть большой CSV с миллионами URL-адресов. CSV имеет один столбец, и его полные URL-адреса готовы для сканирования. Я пытаюсь разбить CSV для лучшей производительности на куски, используя функцию panda. У меня есть файл с именем urls.csv в папке sstkscrape. Когда они разбиты, мне нужен сканер, чтобы начать просмотр каждого из этих URL-адресов для анализа информации для извлечения указанного мной элемента css ahref. Я получаю синтаксическую ошибку, вот мое окружение ...

create_files.py

import pandas as pd
counter = 0
for df in pd.read_csv("urls.csv", chunksize=100000):
df.to_csv(f"input_{counter}.csv", index=False)
counter += 1

items.py

import scrapy
class SstkscrapeItem(scrapy.Item):
contriburl = scrapy.Field()

main.py

from glob import glob
from scrapy import cmdline
for each_file in glob("input_*.csv"):
cmdline.execute("scrapy crawl sstkscrape".split() + ["-a", each_file])

pipelines.py

class SstkscrapePipeline:
def process_item(self, item, spider):
    return item

sstkscrape_spider.py

import scrapy
from ..items import SstkscrapeItem

class QuoteSpider(scrapy.Spider):
name = 'sstkscrape'
start_urls = [
    'https://www.websiteexample.com'
]

def QuoteSpider(scrapy.Spider):

def __init__(self, each_file='', **kwargs):
    self.start_urls = set(pd.read_csv("path_to/each_file")["URL_COLUMN"].tolist())
    super().__init__(**kwargs)  # python3

def parse(self, response):

    items = SstkscrapeItem()

    contriburl = response.css(".b_q_e a::attr(href)").extract()

    items['contriburl'] = contriburl
    yield items

Ошибка, которую я получаю /sstkscrape/spiders/sstkscrape_spider.py ", строка 10 def QuoteSpider (scrapy.Spider): ^ SyntaxError: неверный синтаксис

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...