本文会利用Splash Lua脚本在京东商城上搜索商品,然后抓取搜索出的商品名称,以及将每一页搜索结果的截图保存为PNG格式的文件。

本例的核心是使用select_all方法通过CSS选择器得到搜索页面搜索出的每一个商品对应的a节点,然后获取a节点的title属性值。本例采用了Python与Lua结合的方式,也就是通过Python产生多个URL,然后用Lua脚本抓取每一个URL对应页面中的数据。

下面的代码使用Python语言和Lua脚本在京东商城上以Python关键字进行搜索图书,并将返回找到的图书的标题,以及每一个搜索页面的截图。本例只抓取前6页的数据。

import requests
from urllib.parse import quote
lua = '''function main(splash,args)-- 请求指定页面splash:go("https://search.jd.com/Search?keyword=python&page="..args.page)splash:wait(1)-- 查找所有符合条件的a节点li_list = splash:select_all('#J_goodsList > ul > li > div > div > a'

Python爬虫编程思想(114):项目实战--使用Splash Lua抓取京东搜索结果相关推荐

  1. Python爬虫编程思想(128):使用Appium抓取移动数据(2)--启动Appium服务

    运行Appium,会显示如图1所示的页面. 然后单击"Start Server v1.12.1"按钮,会启动Appium服务,相当于开启一个Appium服务器,如图2所示.我们可以 ...

  2. Python爬虫编程思想(104):Splash基础(支持Lua的轻量级浏览器)

    目录 1. Splash功能简介 2. 安装Docker 3. 安装Splash Splash是一个JavaScript渲染服务,是一个带有HTTP API的轻量级浏览器.可以使用lua语言编写代码对 ...

  3. Python爬虫编程思想(6):实战案例:抓取所有的网络资源

    Python爬虫编程思想(7):实战案例:抓取博客文章列表 到现在为止,我们已经对网络爬虫涉及到的基本知识有了一个初步的了解.本文会编写一个简单的爬虫应用,以便让读者对爬虫有一个基本的认识.本节要编写 ...

  4. Python爬虫编程思想(1):HTTP基础

    目录 1. URI和URL 2. 超文本 3. HTTP与HTTPS 4. HTTP的请求过程 Python爬虫编程思想(2):客户端请求与服务端响应 由于网络爬虫要处理的主要目标是网页,所以在编写爬 ...

  5. python–爬虫–模拟登录全面介绍和简例–以抓取雅卓app为例

    转载请注明出处:python–爬虫–模拟登录全面介绍和简例–以抓取雅卓app为例 我们在前面的文章中已经学习了如果使用python进行数据抓取. 但我们常常会遇到一种场景,就是想要获取的页面内容或者接 ...

  6. python爬虫电影资源_【Python爬虫】第十六次 xpath整站抓取阳光电影网电影资源

    [Python爬虫]第十六次 xpath整站抓取阳光电影网电影资源# 一.解析电影url # 请求15题构造出的每个电影菜单的分页url,解析出每个电影url # 二.xpath解析电影资源 # 对第 ...

  7. Python爬虫编程思想(103):项目实战--抓取QQ空间说说的内容

    本例使用Selenium完成一个综合项目,该项目可以QQ空间说说的内容.首先需要分析一下QQ空间说说的HTML代码. 由于进入QQ空间需要登录,所以抓取QQ空间说说的内容需要如下2步: 模拟登录 抓取 ...

  8. Python爬虫编程思想(133):项目实战--利用Appium抓取微信朋友圈信息

    本文利用Appium实现一个抓取微信朋友圈信息的爬虫.在编写爬虫之前,先要启动Appium服务器. 编写基于Appium的爬虫,关键就是分析App每个界面相关元素的特征,也就是如何获取这些元素,然后在 ...

  9. Python爬虫编程思想(48):项目实战:抓取起点中文网的小说信息

    本文会利用requests库抓取起点中文网上的小说信息,并通过XPath提取相关的内容,最后将经过提取的内容保存到Excel文件中.本例需要使用第三方的xlwt库,该库用来通过Python操作Exce ...

最新文章

  1. 关于Session_End()运行机制的一些细节!
  2. 转载CopyOnWriteArrayList
  3. 使用PreloadJS加载图片资源
  4. 数据库连接和异常处理的几种常用方法
  5. 语音处理入门——语音的声学处理
  6. anaconda如何更改环境配置_手把手教新手安装Anaconda配置开发环境
  7. django 使用requests请求相关接口
  8. 解决MySQL删除和插入数据很慢的问题
  9. hdu 1423(LCS+LIS)
  10. Python3.2官方文档翻译--标准库概览(一)
  11. 小凡的Python之路——启航
  12. windows 使用自带的cmd终端进行文件MD5校验
  13. 耳机频谱曲线测试软件,通过耳机频响曲线来调EQ,免费的音质提升你要吗?
  14. 无线通信-信道模型概念
  15. 微信小程序中的用户ID(包括openid和unionid)
  16. js中的JSON对象转换,过滤特殊字符数据
  17. android系统移植之按键驱动篇
  18. pdf转wordpptexceljpg图片pdf编辑器转换修改
  19. SpringBoot - LogAroundAop MVC请求日志拦截
  20. 学习笔记:Towards Counterfactual Image Manipulation via CLIP 基于CLIP的反事实图像处理研究

热门文章

  1. 微信小程序怎么引用其他文件下的js,wxml,wxss
  2. [Python] 用K-means聚类算法进行客户分群
  3. Scala-Akka 实例
  4. Windows瘦身工具:nLite 1.3 Beta(转)
  5. Java8新特性_新时间和日期API-时间校正器
  6. 小动物光学成像的发展(荧光成像,生物发光成像)
  7. 东芝开发板驱动OLED模块显示LOGO图片
  8. NoClassDefFoundErr拾遗
  9. 全网最优质的H3C设备命令大全
  10. linux下sar命令解析 (性能相关以及性能调试)