`
阅读更多

 

使用 web scraper 对某个移动应用进行爬虫,

 

使用了其多种 selector发现无法正确爬取以下 html 段落的 url image 数据:

 

 

<div class="evaluateInfo" name="">

<div class="evaluatePic bigLunbo  onlyOne ">

<div class="img" style="background-image:url(//pic2.58cdn.com.cn/zhuanzh/big/n_v2cae33b89b247d027a728.jpg)">

</div>

</div>

</div>

 

 

 selector 无法选择 image 内容(image 隐藏没有显示出来),于是只能通过 css selector 或者 html 尝试。 

 

在设置 Type = html 时,selector 只能通过设置 “.evaluateInfo>div” 或者 “.evaluatePic.bigLunbo.onlyOne” 获取最接近的结果:

 

 

<div class="img" style="background-image:url(//pic2.58cdn.com.cn/zhuanzh/big/n_v2cae33b86dd9549f7a749b247d027a728.jpg)"></div>

 

 

现在只能想办法将这一段字符串进行转化,还好 web scraper 内置了regex 正则表达式。

 

如何只获取 url 中有用的部分呢?

 

使用正则表达式  \/\/([^\s]+)*\jpg  或  (?://[^&]+)*\jpg   //.+.*(jpg|png|gif|jpeg|mp4) ,解释如下(此处只解释前面):

 

 1. \/:必须跟小括号的右半部分,\ 是对 ( 进行转义

 2. \/:同 1,完整解释是必须以 // 开头
 3. ([^\s]+):第2步之后需要跟至少一个非空白字符,这里匹配的即为背景图的完整地址,综合考虑到背景图地址可以是绝对地址和相对地址,以及实际场景(即背景图地址可以被单引号、双引号或 &quot; 引起来,如"http://domain.com/a.jpg",但不会出现一端是单引号或双引号,另一端不是单引号或双引号的情况,如 'http://domain.com/a.jpg" 或 "http://domain.com/a.jpg&quot;),因此这里认为可以包含任意非空白字符
 4. *\jpg:第3步之后匹配后面的 jpg 字符串 0次或多次

 

 最终获取想要的结果:

 

 

//pic2.58cdn.com.cn/zhuanzh/big/n_v2cae33b86dd9549f7a749b247d027a728.jpg

 

 

为使得表达式兼容各种格式,需修改为  \/\/([^\s]+)*(jpg|png|gif|jpeg|mp4)  或  (?://[^&]+)*(jpg|png|gif|jpeg|mp4)  或  //.+.*(jpg|png|gif|jpeg|mp4) 。

 

 web scraper 官方说大概方向是用 selector attribute, 没有具体方式,后期会支持 background-image selector,但是多年过去了,最新版本也只有 image selector。

 

此处方式可以得到想要的结果。

1
1
分享到:
评论

相关推荐

    kubernetes-metrics-scraper_v1.0.1.tar

    k8s.gcr.io/kubernetes-metrics-scraper:v1.0.1镜像tar包,使用 docker load --input kubernetes-metrics-scraper_v1.0.1.tar进行导入

    metrics-scraper_1_0_6.tar.gz

    部署配置中需要指定Metrics Scraper的版本,例如`image: k8s.gcr.io/metrics-scraper:v1.0.6`,并设置必要的权限和参数。 4. **主要功能** - **指标收集**:Metrics Scraper通过API Server获取Pod和Node的metrics...

    metrics-scraper-v1.0.8镜像包

    在k8s dashboard的基础上,metrics-scraper-v1.0.8镜像包提供了一种机制,用于从Kubernetes集群中抓取度量指标,并可能用于构建可视化面板。虽然具体的文件名称列表在此次给定的信息中未提供,但可以推测,这个镜像...

    web-scraper::spider_web:网络刮板

    - 压缩包中的"web-scraper-master"可能包含项目源码、示例、测试用例和相关文档。用户可以解压后进一步研究和定制工具。 总结起来,`web-scraper::spider_web`是一个基于JavaScript的网页抓取工具,适用于那些需要...

    Byteline Web Scraper-2.2.16.zip

    名称:Byteline Web Scraper ---------------------------------------- 版本:2.2.16 作者:https://www.byteline.io/ 分类:生产工具 ---------------------------------------- 概述:BYTELEL Web Scraper用于...

    Python库 | hanime-scraper-1.3.7.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:hanime-scraper-1.3.7.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Riddles-Scraper:REST API会产生随机的谜语。 使用Node.js构建

    项目文件夹“Riddles-Scraper-master”包含源代码,开发者可以通过安装依赖(如`npm install`)并在本地运行服务(如`node server.js`)。部署到生产环境可能使用如Heroku或AWS等云服务,确保24/7可用性。 5. **...

    sytadin-scraper:用 perl 编写的 sytadin 交通信息抓取工具

    sytadin-scraper 用 perl 编写的交通信息。执照sytadin-scraper 在 MIT 下发布。依赖WWW::机械化Getopt::长命令行 &gt; sytadin-scraper -husage: * to search nodes: sytadin-scraper [-h] -S ' &lt;node&gt; '* to query ...

    garmin-connect-scraper:基于 Garmin Connect 的增量式 Puppeteer

    garmin-connect-scraper 基于 Garmin Connect:trade_mark: 的增量刮板。安装 npm i garmin-connect-scraper用法最少使用: garmin-connect-scraper --username=login@mail.com --password=secret这会将您的所有活动...

    hdx-monitor-scraper-status:自动刮板和收集器的收集状态

    刮板监控API 旨在从刮板... 请求示例:$ curl -X POST localhost:4000/ \ -d " id=scraper-test&status=error&message='Failed to \\\n connect to API.'&time=2015-06-01T14:34:01&datasets=ebola-data,hospitals-dat

    protocol-scraper:自动执行协议编写的Python CLI

    协议刮板 :alembic: 自动执行协议编写的Python CLI。 介绍 此CLI从抓取协议,以自动化协议收集和编写。... -l, --limit INTEGER Number of test protocols to write. Default = 3 --help Show this message an

    Braveherder-Web-Scraper:node-web-scraper 的分叉来抓取 Brave Frontier QuestUnit 信息的 Wikia

    在提供的压缩包文件"Braveherder-Web-Scraper-wikia"中,包含了该项目的完整源代码和其他相关资源。开发者可以通过阅读和研究这些文件,了解其工作原理,进行二次开发或自定义配置。 总结,Braveherder-Web-Scraper...

    image-scraper:Python脚本从网站上抓取图像

    $ cd image-scraper 信息 用法: python scraper.py --help 将会呈现: Usage: scraper.py [OPTIONS] COMMAND [ARGS]... A site image scraping tool. Options: --help Show this message and exit. Commands: ...

    web-scraper-chrome-extension:Web数据提取工具实现为chrome扩展

    网页刮板Web Scraper是chrome浏览器扩展程序,用于从网页提取数据。 使用此扩展,您可以创建计划(站点地图)如何遍历网站以及应提取什么内容。 使用这些站点地图,Web Scraper将相应地导航该站点并提取所有数据。 ...

    googlemaps-scraper:Google Maps评论刮

    Google Maps Scraper Scraper of Google Maps评论。 该代码允许从Google Maps中特定兴趣点(POI)的网址开始提取最新评论。 另一个扩展功能有助于监视评论并将其增量存储在MongoDB实例中。 安装 请按照以下步骤使用...

    News-scraper-workers-eng-go:新闻-scraper-workers-eng

    新闻刮板走 该存储库包含从el mundo , el pais ,... scraper_id=scraper_test device_id=device_test app_id=all newspaper=all scraping_date_limit=2020-03-10 scraper_type=daily database_url =mongodb://l

    google-play-scraper:Google Play刮板Python的灵感来自

    Google Play抓取工具 Google-Play-Scraper提供了...应用程式详细资料 from google_play_scraper import appresult = app ( 'com.nianticlabs.pokemongo' , lang = 'en' , # defaults to 'en' country = 'us' # default

    yolo-scraper:一种构造Web刮板的简单方法

    一种构造Web刮板的简单方法。 定义请求。 从响应中提取数据。 根据JSON Schema验证数据。 安装使用NPM: npm install yolo-scraper --save用法定义您的刮板功能。 var yoloScraper = require ( 'yolo-scraper' ) ;...

    tiktok-scraper:TikTok铲运机:registered:

    TikTok Scraper:trade_mark: 以下项目从tiktok网站实现了domcrawler和并发数据检索。 兑现承诺后,便会分析与用户和视频有关的信息,并将其存储到数据库中以备后用。 为了减轻抓取过程,所有与数据库相关的操作都...

    node-website-scraper-phantom:用于网站抓取工具的插件,该插件使用PhantomJS返回动态网站的html

    网站-scraper-phantom 用于抓取工具的插件,该插件使用PhantomJS返回动态网站的html。 该模块是一个开放软件,由一名开发人员在空闲时间维护。 如果要感谢本模块的作者,可以使用或 。 要求 nodejs版本&gt; = 8 网站...

Global site tag (gtag.js) - Google Analytics