Я хочу войти на сайт и почистить с него данные. После попытки много раз, это все еще не работает.
Сайт содержит javascript, поэтому я использовал splash для рендеринга. Всплеск работает, но только часть кода, которую я не могу понять. Из-за нашей рабочей среды, не будем рассматривать использование селена.
class MySpider(scrapy.Spider):
name = "test"
start_urls = ['https://steamcommunity.com/login/home/']
req = 10
series = {}
def start_requests(self):
script = """
function main(splash)
splash.private_mode_enabled = false
local url = splash.args.url
assert(splash:go(url))
assert(splash:wait(10))
splash:set_viewport_full()
local search_input = splash:select_all('#steamAccountName')
search_input:send_text("xxxxxxx")
local search_input = splash:select_all('#steamPassword')
search_input:send_text("xxxxxxx")
assert(splash:wait(5))
local submit_button = splash:select_all('#login_btn_signin')
submit_button.click()
assert(splash:wait(10))
return {
html = splash:html(),
png = splash:png(),
}
end
"""
yield SplashRequest(
'https://steamcommunity.com',
callback=self.after_login,
endpoint='execute',
args={'lua_source': script}
)
def after_login(self, response):
open_in_browser(response)
Ниже приведена ошибка:
2019-10-09 15:18:32 [scrapy.core.engine] INFO: Spider opened
2019-10-09 15:18:32 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2019-10-09 15:18:32 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023
2019-10-09 15:18:43 [scrapy_splash.middleware] WARNING: Bad request to Splash: {'type': 'ScriptError', 'info': {'line_number': 12, 'type'
: 'LUA_ERROR', 'error': "attempt to call method 'send_text' (a nil value)", 'source': '[string "..."]', 'message': 'Lua error: [string ".
.."]:12: attempt to call method \'send_text\' (a nil value)'}, 'error': 400, 'description': 'Error happened while executing Lua script'}
2019-10-09 15:18:43 [scrapy.core.engine] DEBUG: Crawled (400) <GET https://steamcommunity.com via http://localhost:8050/execute> (referer
: None)
2019-10-09 15:18:43 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <400 https://steamcommunity.com>: HTTP status code is no
t handled or not allowed
2019-10-09 15:18:43 [scrapy.core.engine] INFO: Closing spider (finished)
Любая помощь очень ценится! Спасибо.