吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6870|回复: 65
收起左侧

[易语言 转载] 开源 wallhaven ToP高清壁纸分析 过程及编写易语言编写爬虫 带源码

  [复制链接]
crack5 发表于 2020-7-22 14:48
本帖最后由 crack5 于 2020-7-22 15:01 编辑

网站:https://wallhaven.cc/
用到工具: https://www.52pojie.cn/thread-1211429-1-1.html
及 Google Chrome 浏览器


1.先到网页选择Top  大同小异
1.png

如果是 按下F12 Google Chrome 浏览器 然后开始分析


2.png

也可以用 论坛大佬的正则匹配工具
3.png

3.随机点开一个主页下的 一个网页地址 然后去看一下页面地址
4.png


5.png

4.拿到地址后可以直接在 浏览器搜索或在正则匹配工具搜索 https://wallhaven.cc/w/3911w9


我选择浏览器搜索 CTRL+F  
6.png

可以看到 可以看到这个是第一张图的页面地址
5.然后用正则匹配工具去进行匹配


[Asm] 纯文本查看 复制代码
<a class="preview"  target="_blank"></a>



7.png

前关键字 <a class="preview" href="  || 后关键字 "

匹配到的结果
8.png


然后点击工具的生成代码
9.png


接下来进行代码编写

[Asm] 纯文本查看 复制代码
.版本 2
.支持库 spec

.子程序 取页图片地址, , , 此代码由CN911正则生成
.参数 页数, 整数型
.局部变量 被搜索的文本, 文本型
.局部变量 正则, 正则表达式类, , , jy模块的正则表达式类
.局部变量 i, 整数型, , , 计次变量

被搜索的文本 = 网页_访问S (“https://wallhaven.cc/toplist?page=” + 到文本 (页数))
.如果真 (被搜索的文本 = “”)
    信息框 (“访问失败”, 0, , )
    返回 ()
.如果真结束
正则.创建 (“<a class=#引号preview#引号 href=#引号(.*?)#引号”, 被搜索的文本, 假, 真, 真, 真)
.计次循环首 (正则.取匹配数量 (), i)
    调试输出 (正则.取子匹配文本 (i, 1, ))

.计次循环尾 ()

10.png


6.然后再去分析图片的源地址 我随便用一个去 分析 https://wallhaven.cc/w/3911w9

CTRL+F  .JPG
11.png


<img id="wallpaper" src="https://w.wallhaven.cc/full/39/wallhaven-3911w9.jpg" alt="General 256


再回到刚才的步骤 用工具去访问图片的地址  https://wallhaven.cc/w/3911w9


前关键字 <img id="wallpaper" src="  || 后关键字 "

12.png

得到图片地址后可以我们就可以开始写爬虫了 点击工具生成 代码

13.png

[Asm] 纯文本查看 复制代码
.版本 2
.支持库 spec

.子程序 解析图片地址
.参数 url, 文本型
.局部变量 被搜索的文本, 文本型
.局部变量 正则, 正则表达式类, , , jy模块的正则表达式类
.局部变量 i, 整数型, , , 计次变量

被搜索的文本 = 网页_访问S (url)
正则.创建 (“<img id=#引号wallpaper#引号 src=#引号(.*?)#引号”, 被搜索的文本, 假, 真, 真, 真)
.计次循环首 (正则.取匹配数量 (), i)
    调试输出 (正则.取子匹配文本 (i, 1, ))
.计次循环尾 ()



再用正则匹配一下 文件名和格式

最后直优化封装一下代码即可


[Asm] 纯文本查看 复制代码
.版本 2
.支持库 shell
.支持库 internet

.子程序 取文件名并下载, , , 此代码由CN911正则生成
.参数 src, 文本型
.局部变量 正则, 正则表达式类, , , jy模块的正则表达式类
.局部变量 i, 整数型, , , 计次变量

正则.创建 (“[^/]+(?!.*/)”, src, 假, 假, 假, 假)
.计次循环首 (正则.取匹配数量 (), i)
    写到文件 (取特定目录 (3) + “\test\” + 正则.取匹配文本 (i), HTTP读文件 (src))
.计次循环尾 ()



测试结果


14.png





代码:


[Asm] 纯文本查看 复制代码
.版本 2
.支持库 EThread
.支持库 shell
.支持库 internet

.程序集 窗口程序集_启动窗口

.子程序 _按钮1_被单击

启动线程 (&测试, , )



.子程序 测试
.局部变量 i, 整数型

.变量循环首 (到整数 (编辑框2.内容), 到整数 (编辑框3.内容), 1, i)
    取页图片地址 (i)
.变量循环尾 ()



.子程序 取页图片地址, , , 此代码由CN911正则生成
.参数 页数, 整数型
.局部变量 被搜索的文本, 文本型
.局部变量 正则, 正则表达式类, , , jy模块的正则表达式类
.局部变量 i, 整数型, , , 计次变量

被搜索的文本 = 网页_访问S (“https://wallhaven.cc/toplist?page=” + 到文本 (页数))
.如果真 (被搜索的文本 = “”)
    信息框 (“访问失败”, 0, , )
    返回 ()
.如果真结束
正则.创建 (“<a class=#引号preview#引号 href=#引号(.*?)#引号”, 被搜索的文本, 假, 真, 真, 真)
.计次循环首 (正则.取匹配数量 (), i)
    解析图片地址 (正则.取子匹配文本 (i, 1, ))
.计次循环尾 ()

.子程序 解析图片地址
.参数 url, 文本型
.局部变量 被搜索的文本, 文本型
.局部变量 正则, 正则表达式类, , , jy模块的正则表达式类
.局部变量 i, 整数型, , , 计次变量

被搜索的文本 = 网页_访问S (url)
正则.创建 (“<img id=#引号wallpaper#引号 src=#引号(.*?)#引号”, 被搜索的文本, 假, 真, 真, 真)
.计次循环首 (正则.取匹配数量 (), i)
    编辑框1.加入文本 (“正在下载:” + url + #换行符)
    取文件名并下载 (正则.取子匹配文本 (i, 1, ))
.计次循环尾 ()


.子程序 取文件名并下载, , , 此代码由CN911正则生成
.参数 src, 文本型
.局部变量 正则, 正则表达式类, , , jy模块的正则表达式类
.局部变量 i, 整数型, , , 计次变量

正则.创建 (“[^/]+(?!.*/)”, src, 假, 假, 假, 假)
.计次循环首 (正则.取匹配数量 (), i)
    写到文件 (取特定目录 (3) + “\test\” + 正则.取匹配文本 (i), HTTP读文件 (src))
.计次循环尾 ()






附上源码:


wallhaven爬虫源码.rar (204.87 KB, 下载次数: 43)

wallhaven爬虫工具.rar (361.94 KB, 下载次数: 142)

免费评分

参与人数 15吾爱币 +10 热心值 +14 收起 理由
woshuoxiang + 1 + 1 谢谢@Thanks!
今日默书 + 1 + 1 谢谢@Thanks!
Cok_dashu + 1 我很赞同!
沉默之剑 + 1 用心讨论,共获提升!
alicc + 1 + 1 鼓励转贴优秀软件安全工具和文档!
良月塑一 + 1 我很赞同!
mingxia + 1 谢谢@Thanks!
妖魔鬼怪 + 1 + 1 我很赞同!
onlyq1413 + 1 + 1 我很赞同!
lmaple0 + 1 鼓励转贴优秀软件安全工具和文档!
ΟωО + 1 我很赞同!
堂堂 + 1 + 1 我很赞同!
sky4726 + 1 + 1 我很赞同!
晚辈小生 + 1 + 1 用心讨论,共获提升!
生有涯知无涯 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

alicc 发表于 2020-7-26 06:27
crack5 发表于 2020-7-25 20:54
你按 F12 然后 F5刷新页面就出来了

用谷歌和火狐浏览器 都这样 - -显示不出楼主那种效果  内容反复搜索没图片地址(用那个正则匹配工具也是一样),但是可以用楼主的成品。
应该是哪里设置没对 - -     楼主闲的时候可以看看嘛 捣鼓了2天
QQ截图20200726062302.png

内容为:
内容.txt (40.56 KB, 下载次数: 2)
 楼主| crack5 发表于 2020-7-22 15:08
魔道书生 发表于 2020-7-22 15:07
大佬出一个python的正则就好了                        我一直不知道python为啥就爬虫强了?

python在论坛上有哟  https://www.52pojie.cn/thread-1201431-1-1.html 你可以去看看
 楼主| crack5 发表于 2020-7-22 14:55
魔道书生 发表于 2020-7-22 15:07
大佬出一个python的正则就好了                        我一直不知道python为啥就爬虫强了?
wangshang 发表于 2020-7-22 15:40
谢谢分享
JIAN_ 发表于 2020-7-22 15:41
厉害了!
pyms 发表于 2020-7-22 15:52
不错的教程
慕容紫英丶 发表于 2020-7-22 16:08
谢谢分享
zhaji666 发表于 2020-7-22 16:16
谢谢分享  嘻嘻嘻
gujiu666 发表于 2020-7-22 16:31
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-8 04:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表