千家信息网

如何使用scrapy+splash+Lua滚动爬取CSDN

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,如何使用scrapy+splash+Lua滚动爬取CSDN,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。这个主要是为了使
千家信息网最后更新 2026年11月02日如何使用scrapy+splash+Lua滚动爬取CSDN

如何使用scrapy+splash+Lua滚动爬取CSDN,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

这个主要是为了使用splash,做的

CSDN爬的数据频繁以后好像会自动504,开始正文:

安装scrapy,安装splash需要安装docker,详细的安装步骤在我的csdn博客

https://blog.csdn.net/zhao_5352269/article/details/82850496


打开csdn,会发现csdn的文章是随着你鼠标滑动向下加载的

如果就只用scrapy框架爬的话,就是只有当前显示的内容

而我们需要滑动以后的内容,就需要splash了,当然是用selnium也是可以的

安装完splash以后,启动服务,在页面访问

点击Examples,再继续选择Scroll page,就会出现改脚本,点击render me,就会直接运行,返回你所需的东西.默认的url可能会有点慢,直接复制csdn的地址,在运行,

可以将所有的都截取加上,详细见官方文档https://splash.readthedocs.io

  • splash:set_viewport_full - 更改视口大小(在 splash:png或 splash:jpeg之前调用它 )以获取整个页面的屏幕截图;


将图片保存,这样就实现在splash中滑动的效果

接下来就是在scrapy框架中,使用splash了。

将刚才的脚本复制到爬虫中(微信这个有问题,不能全部显示,一会发源码)

script = """
function main(splash, args)
splash:go(args.url)
local scroll_to = splash:jsfunc("window.scrollTo")
scroll_to(0, 1000)
splash:set_viewport_full()
splash:wait(10)
return {html=splash:html()}
end
"""

复制过来没有全部显示

然后再使用SplashRequest中的args传递参数,也可以使用Scrapy.Request使用meta传递参数

yield SplashRequest(nav_url, endpoint='execute', args={'lua_source': script, 'url': nav_url}

在对setting进行设置(必须)

DOWNLOADER_MIDDLEWARES = {
'scrapy_splash.SplashCookiesMiddleware':723,
'scrapy_splash.SplashMiddleware':725,
'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810,#不配置查不到信息
# 'Technology.middlewares.TechnologyDownloaderMiddleware': 543,
}
HTTPCACHE_ENABLED = True
HTTPCACHE_EXPIRATION_SECS = 0
HTTPCACHE_DIR = 'httpcache'
#HTTPCACHE_IGNORE_HTTP_CODES = []
#HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'
SPLASH_URL = "http://192.168.99.100:8050" #自己安装的docker里的splash位置
DUPEFILTER_CLASS = "scrapy_splash.SplashAwareDupeFilter"
HTTPCACHE_STORAGE = 'scrapy_splash.SplashAwareFSCacheStorage'

执行代码

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

内容 参数 就是 文章 框架 脚本 页面 帮助 运行 清楚 频繁 接下来 东西 代码 位置 信息 博客 只有 图片 地址 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技活动banner 北京互联网科技有限公司 喔噻互联网科技 互联网科技革命 小马过河互联网科技 广州互联网络科技有限公司 奇酷互联网络科技公司 广西互联网科技公司 上游互联网科技 猫创互联网科技 狮子座互联网科技培训 彤创互联网科技有限公司 武汉健翔互联网络科技有限公司 华夏互联网科技业 江阴互联网智能科技产品进口 消费医药和互联网科技 伍佰万互联网科技怎么赚钱 杭州披云加互联网科技有限公司 普陀区互联网教育科技管理办法 唐山双旺合互联网科技产业园 互联网络科技有限公司 互联网科技上市公司 互联网科技素材视频竖屏 太原新华互联网科技学校怎么样 青岛中康互联网医疗科技有限公司 互联网科技革命什么开始 中国航天科技大学国际工业互联网 特约风豹互联网科技为什么扣费 南博望互联网科技有限公司 银川新华互联网科技学校是国营吗
0