私はscrapyで作業しています。私は、リクエストごとに一意のユーザエージェントを生成したいと考えています。私は、次のしている:TypeError:正確に1つの引数(0が指定されている) - Scrapy
class ContactSpider(Spider):
name = "contact"
def getAgent(self):
f = open('useragentstrings.txt')
agents = f.readlines()
return random.choice(agents).strip()
headers = {
'user-agent': getAgent(),
'content-type': "application/x-www-form-urlencoded",
'cache-control': "no-cache"
}
def parse(self, response):
open_in_browser(response)
getAgentは、フォームのリストからエージェントを生成します。私はこれを実行すると
"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
は、しかし、私は得る:
File "..spiders\contact_spider.py, line 35, in <module>
class ContactSpider(Spider):
File "..spiders\contact_spider.py", line 54, in ContactSpider
'user-agent': getAgent(),
TypeError: getAgent() takes exactly 1 argument (0 given)
てみ '「ユーザーエージェント」:self.getAgent()' – albert
私は以前、それは私を与えることを試みた:「ユーザーエージェント」:self.getAgent()、 NameError:名「自己」が – user61629
に定義されていません'getAgent(None)'または 'def getAgent()'を使うか、自分自身を除いてクラス外にそのdefを移動してください – YOU