本文会利用Splash Lua脚本在京东商城上搜索商品,然后抓取搜索出的商品名称,以及将每一页搜索结果的截图保存为PNG格式的文件。
本例的核心是使用select_all方法通过CSS选择器得到搜索页面搜索出的每一个商品对应的a节点,然后获取a节点的title属性值。本例采用了Python与Lua结合的方式,也就是通过Python产生多个URL,然后用Lua脚本抓取每一个URL对应页面中的数据。
下面的代码使用Python语言和Lua脚本在京东商城上以Python关键字进行搜索图书,并将返回找到的图书的标题,以及每一个搜索页面的截图。本例只抓取前6页的数据。
import requestsfrom urllib.parse import quotelua = \function main(splash,args)-- 请求指定页面splash:go("/Search?keyword=python&page="..args.page)splash:wait(1)-- 查找所有符合条件的a节点li_list = splash:select_all(#J_goodsList > ul > li > div > div > a