Ank*_*kur 7 python scrapy-splash
我正在使用 ScrapingHub 的云 Splash 实例。我正在尝试使用 Scrapy-Splash 库做一个简单的请求,但我不断收到错误消息:
@attr.s(hash=False, repr=False, eq=False)
TypeError: attrs() got an unexpected keyword argument 'eq'
Run Code Online (Sandbox Code Playgroud)
任何关于为什么会出现错误的想法/线索将不胜感激。
我使用的代码如下(使用 Python 3.6 和 Scrapy v 2.1.0):
import scrapy
from scrapy_splash import SplashRequest
class MySpider(scrapy.Spider):
start_urls = ['https://www.sportsgirl.com.au', 'http://maryons.com.au']
def start_requests(self):
for url in self.start_urls:
yield SplashRequest(url, self.parse, args={'wait': 0.5})
def parse(self, response):
print(response)
MySpider().start_requests()
Run Code Online (Sandbox Code Playgroud)
和 settings.py 具有以下值:
DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware': 723,
'scrapy_splash.SplashMiddleware': 725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,
}
SPIDER_MIDDLEWARES = {
'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,
}
SPLASH_URL = 'https://my-splash-url.scrapinghub.com'
Run Code Online (Sandbox Code Playgroud)
小智 16
错误来自 Twisted 库,它是 Scrapy 的依赖项。
看起来它已在最新版本中修复。如果你跑
pip install --upgrade twisted
Run Code Online (Sandbox Code Playgroud)
你应该没事!