Я пытаюсь прочитать файл, который содержит список доменов для обхода. Результаты добавляются в файл (имя файла, соответствующее домену). Когда я пытаюсь запустить код Scrapy ползания яблокоОшибка при попытке прочитать файл в scrapy
Он выдает ошибку:
def __init__(self)
SyntaxError: invalid syntax
DOMAIN.txt содержит: anything.com hello.com
Это мой код.
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from scrapy.item import Item, Field
from scrapy.utils.response import get_base_url
from scrapy.utils.url import urljoin_rfc
class MySpider(CrawlSpider):
name = 'crawl'
allowed_domains = []
start_urls = []
def __init__(self):
for line in open('domain.txt', 'r').readlines():
self.allowed_domains.append(line)
self.start_urls.append(line)
rules = [Rule(SgmlLinkExtractor(allow=()), follow=True, callback='parse_item')]
super(MySpider,self).__init__()
def parse_item(self, response):
sel = HtmlXPathSelector(response)
links = sel.select('//a[contains(@href, "anything")]/@href').extract()
items = []
for link in links:
item = AnythingItem()
item['reference_link'] = response.url
yield item
Обновление 0: Я забыл добавить двоеточие после функции init. Сожалею. Но все же он не работает
определение функции __init __ (Я) 'не действует Python. После имени функции вам понадобится двоеточие. – Blender