Scrapy splash 无法登录,lua 错误:尝试调用方法 'send_text'(一个空值)
2019-10-9 22:28:9
收藏:0
阅读:137
评论:0
我想登录网站并从中爬取数据。尝试了很多次,仍然不起作用。
该网站包含 JavaScript,因此我使用了 splash 进行渲染。Splash 工作正常,但只是代码部分我无法解决。我们的工作环境不能考虑使用 selenium。
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)
非常感谢任何帮助!谢谢。
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
