批量提取网页内容(全自动)

批量提取网页内容(全自动) 公开

zdf153 更新于 2020-09-14 18:36 | 4 | 71 |
46/51
如何使用分享的动作?

适用于
分类
脚本 网络服务 功能
用户115357340253027 yond 飞飞1866 pgf 4 人赞了这个动作


更多信息
分享时间 2020-09-04 16:48
最后更新 2020-09-14 18:36
修订版本 6
限制再分享
Quicker版本 1.10.10.0
动作大小 62.4 KB

分享到

复制2次path就可以全自动提取,自动点击下一页,按住ctrl进入手动提取

默认记录上一次的xpath  方便多次提取  自动模式下 进入手动提取也会显示上次的xpath


标题就是要提取的纯文本 网址就是要提取的属性(自己看源码  要提取东西为等号后面的 直接就在xpath后面加@等号前面的单词  例如href=“网址”   就写成@href      >< 里面的内容直接就用标题提取  看下面的例子)

可以跳过前面直接翻到最后面的自动处理教程

简单的xpath提取教程:   发现问题的请反馈一下

网址:http://tv.cctv.com/lm/qpl/videoset/index.shtml


右键复制  复制第一个标题的xpath  再复制第二个标题的xpath


第一个标题:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]/ul[1]/li[1]/div[2]/a

第二个标题:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]/ul[1]/li[2]/div[2]/a

找前面相同的部分  

相同的:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]/ul[1]

删除不同部分  /li[1]/div[2]/a-->/li/div[2]/a

结果:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]/ul[1]//li/div[2]/a


按住ctrl点击动作  

提取标题就写:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]/ul[1]//li/div[2]/a

要提取东西为等号后面的 直接就在xpath后面加@等号前面的单词  例如href=“网址”   就写成@href      >< 里面的内容直接就用标题提取

提取网址就写:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]/ul[1]//li/div[2]/a/@href



上面的方法一般都用在列表那种,分行(或者分块、列表)的话用下面这种方法

第二个标题-->选择第二行的第二个标题

第一个标题:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]/ul[1]/li[1]/div[2]/a

第二个标题:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]/ul[2]/li[2]/div[2]/a (第二行的)

相同部分:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]

删除不同的部分 /ul[2]/li[2]/div[2]/a -->ul/li/div[2]/a

结果:/html/body/div[2]/div/div/div/div/div[2]/div/div/div/div[1]/div[3]/div[1]/div/div[1]/div[1]/ul/li/div[2]/a

(提取的结果有300多 那是因为其他页面的结果也在里面)



这种标题和链接分离的只能手动写    https://tophub.today/

标题和链接分别写一个xpath



标题:

/html/body/div[1]/div[4]/div[4]/div[2]/div[1]/div/div[2]/div[1]/a[1]/div/span[2]

/html/body/div[1]/div[4]/div[4]/div[2]/div[1]/div/div[2]/div[1]/a[2]/div/span[2]

结果:/html/body/div[1]/div[4]/div[4]/div[2]/div[1]/div/div[2]/div[1]/a/div/span[2]

网址:

/html/body/div[1]/div[4]/div[4]/div[2]/div[1]/div/div[2]/div[1]/a[1]

/html/body/div[1]/div[4]/div[4]/div[2]/div[1]/div/div[2]/div[1]/a[2]

/html/body/div[1]/div[4]/div[4]/div[2]/div[1]/div/div[2]/div[1]/a/@href  (提取等号后面的东西都写  @等号前面的东西)


自动处理  (自动去重复)

多行的排列的话第一个标题xpath要复制第一行的第一个   第二个标题xpath要复制第二行的第二个  

软件会自动根据这2个xpath合成用来提取的xpath

网址:https://tophub.today/n/mproPpoq6O




吾爱




多列表的看自己 要一个列表的  就复制同一个列表的标题

要全部列表的就复制 第一个列表的第一个标题  第二个列表的第二个标题

http://top.baidu.com/category?c=1&fr=topindex

只提取一列:


提取多列


自动点击下一页


输入自动,使用自带的下一页xpath(基于下一页制作)

下一页的名字为 "下一页" 才能定位成功



手动输入:  

 >下页< 这种xapth是  
xpath://a[contains(text(),'下一页')]


title="下一页",这种xpath是
xpath://a[contains(@title,'下一页')]



如果是其他字直接替换就好了,注意比如">",可能是图片生成的,还有就是有些是>加空格,去源码直接复制就好了

xpath://a[contains(text(),'下一页>')]





实在没办法就只能这样,这样可能最后几页提取时可能会跳




演示动画

最近更新

更新时间 修订版本 更新说明
2020-09-14 18:36 6 修复bug,增加自动点击下一页
2020-09-11 22:23 5 修复bug
2020-09-09 15:52 4 记录上一次的xpath 方便多次提取 自动模式下 今日手动提取也会显示上次的xpath
更多...
动作交流
已隐藏 16 条评论。点击查看所有
  • zdf153 2020-11-14 13:52
    回复 @御思纯呀
    非常感谢!我搞了半天终于可以有别的方法解决了!!!

    不客气⊙▽⊙

  • 未央夏至丿 2020-12-20 12:28
    大佬 知道怎么用xpath提取placeholder的值吗?
  • zdf153 2020-12-20 12:37
    回复 @未央夏至丿
    大佬 知道怎么用xpath提取placeholder的值吗?

    //*[@id="kw"]/@value  百度搜索

  • 未央夏至丿 2020-12-20 13:21
    回复 @zdf153

    //*[@id="kw"]/@value  百度搜索

    查了半天没查到。。。只能求救你了~

  • zdf153 2020-12-20 13:25
    回复 @未央夏至丿

    查了半天没查到。。。只能求救你了~

    等号前面是什么获取的属性就填什么   这里填末尾加个  @placeholder
  • 未央夏至丿 2020-12-20 13:41
    回复 @zdf153
    等号前面是什么获取的属性就填什么   这里填末尾加个  @placeholder

    //*[@id="cutDownModal"]/@value@placeholder 我是弄成这样的 但是没啥反应

  • zdf153 2020-12-20 14:04
    回复 @未央夏至丿

    //*[@id="cutDownModal"]/@value@placeholder 我是弄成这样的 但是没啥反应

    //*[@id="cutDownModal"]/input/@placeholder

  • zdf153 2020-12-20 14:04
    回复 @未央夏至丿

    //*[@id="cutDownModal"]/@value@placeholder 我是弄成这样的 但是没啥反应

    //*[@id="cutDownModal"]/input/@placeholder

  • 未央夏至丿 2020-12-20 14:23
    回复 @zdf153

    //*[@id="cutDownModal"]/input/@placeholder

    谢谢 我研究了一下 可以使用的代码是//*[@id="cutDownModal"]/div/div[4]/div/div/div[2]/div/table/tbody/tr/td[4]/div/div/div/div/div/div/input/@placeholder
  • zdf153 2020-12-20 14:25
    回复 @未央夏至丿
    谢谢 我研究了一下 可以使用的代码是//*[@id="cutDownModal"]/div/div[4]/div/div/div[2]/div/table/tbody/tr/td[4]/div/div/div/div/div/div/input/@placeholder

    不客气