首页 > 其他分享 >易语言 爬虫 网络请求 保存图片

易语言 爬虫 网络请求 保存图片

时间:2023-03-14 12:33:39浏览次数:39  
标签:计次 匹配 请求 局部变量 爬虫 正则 网页 文本 易语言


1 网页_访问_对象介绍

详细参考:http://e.125.la/fun-1161.html
本教程基于精易模块​​​网页_访问_对象​​属性

2 参数介绍

参数名

类 型

备注

网址

文本型

完整的网页地址,必须包含http://或者https://

访问方式

整数型

0=GET 1=POST 2=HEAD 3=PUT 4=OPTIONS 5=DELETE 6=TRACE 7=CONNECT

提交信息

文本型

"POST"专用 自动UTF8编码

3 请求案例

3.1 GET请求

.版本 2
.支持库 spec

网页_访问_对象 (“http://127.0.0.1/”, 0, , , , , , , , , , , , , )
局_返回 = 到文本 (网页_访问_对象 (“https://www.920vip.net/”, 0, , , , , , , , , , , , , ))
局_返回 = 编码_utf8到gb2312 (局_返回) ' 转码,不然乱码显示
调试输出 (局_返回)

3.2 POST请求

.版本 2
.支持库 spec

.子程序 http测试, 文本型
.局部变量 请求网址, 文本型
.局部变量 局_返回, 文本型
.局部变量 json, 类_json
.局部变量 code, 文本型
.局部变量 msg, 文本型
.局部变量 param, 文本型
.局部变量 bool, 逻辑型
.局部变量 headers, 文本型


调试输出 (“=====”)

请求网址 = “http://127.0.0.1:8081/test”
param = “secret=” + “U2Fs*************yzm2p” + “&msg=666”
headers = “authorization:abcdef” + #换行符 + “name:charles”

局_返回 = 到文本 (网页_访问_对象 (请求网址, 1, param, , , headers, , , , , , , , , ))
局_返回 = 编码_utf8到gb2312 (局_返回) ' 转码,不然乱码显示

bool = json.解析 (局_返回)
.如果真 (bool)
调试输出 (局_返回)
code = json.取属性对象 (“code”)
msg = json.取属性对象 (“msg”)
调试输出 (code)
调试输出 (msg)
.如果真结束


返回 (“0”)

易语言 爬虫 网络请求 保存图片_易语言

5 爬虫获取图片

精益模块

正则匹配网页图片

.版本 2
.支持库 spec

.子程序 __启动窗口_创建完毕
.局部变量 url, 文本型
.局部变量 获取网页源码, 文本型


url = “https://www.couragesteak.com”

' 获取网页源码
获取网页源码 = 到文本 (网页_访问 (url, , , , , , , , , , , , ))
调试输出 (获取网页源码)

' 正则匹配照片数量
img_num = 正则_匹配批量_图片地址 (获取网页源码, url)
调试输出 (“照片数量为:” + 到文本 (img_num))


.版本 2
.支持库 spec

.子程序 正则_匹配批量_图片地址, 整数型, 公开, 匹配网页所有(已显示)图片地址。成功返回匹配的数量,失败返回0。
.参数 源文本, 文本型, , 欲被匹配的文本
.参数 domain_url, 文本型, , 网站主域名
.局部变量 局_正则, 正则表达式类, , , 此类为精易模块里面的正则类,精易模块下载地址:http://ec.125.la/
.局部变量 局_匹配数, 整数型
.局部变量 匹配文本, 文本型
.局部变量 局_计次, 整数型

.如果真 (局_正则.创建 (“src *= *['#引号]*(\S+)[#引号']”, 源文本, 假, 假, 真, 真) = 假)
信息框 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, , )
返回 (0)
.如果真结束
局_匹配数 = 局_正则.取匹配数量 ()

img_num = 0
.如果真 (局_匹配数 = 0)
信息框 (“匹配失败,请检检查正则语句是否有误,数量:0”, #错误图标, , )
返回 (0)
.如果真结束
.计次循环首 (局_匹配数, 局_计次)

匹配文本 = 局_正则.取子匹配文本 (局_计次, 1)
.如果真 (取文本右边 (匹配文本, 4) = “.gif” 或 取文本右边 (匹配文本, 4) = “.jpg” 或 取文本右边 (匹配文本, 4) = “.png”)
调试输出 (“======”)
' 调试输出 (取文本左边 (匹配文本, 4))
调试输出 (局_正则.取子匹配文本 (局_计次, 1))

.如果真 (取文本左边 (匹配文本, 4) = “http”)
img_num = img_num + 1

加入成员 (图片_列表, 局_正则.取子匹配文本 (局_计次, 1))
' 下载次数 = 下载次数 + 1
.如果真结束
.如果真 (取文本左边 (匹配文本, 4) ≠ “http”)
调试输出 (“不是全部链接”)
img_num = img_num + 1
加入成员 (图片_列表, domain_url + 局_正则.取子匹配文本 (局_计次, 1))
.如果真结束

输出调试文本 (“匹配文本 ” + 到文本 (局_计次) + “ 中的子匹配文本 1:” + 局_正则.取子匹配文本 (局_计次, 1))
' 透明标签2.标题 = “状态:正在导入”
.如果真结束

.计次循环尾 ()
返回 (img_num)

下载图片

写到文件 (“E:\dev\易语言开发\qrcode_cs.jpg”, HTTP读文件 (“https://static.couragesteak.com/common/qrcode_cs.jpg”))


标签:计次,匹配,请求,局部变量,爬虫,正则,网页,文本,易语言
From: https://blog.51cto.com/u_16006123/6120319

相关文章

  • 易语言读写配置项ini文件
    文章目录​​1.写ini文件​​​​2.读配置文件​​1.写ini文件.版本2写配置项(取运行目录()+“\config.ini”,“灰太狼”,“属性”,“大佬”)写配置项(取运行目......
  • python 爬虫ip代理
    新建proxy_list.txt文本,一行一个ip代理ip地址,必要情况下可以加上端口号importrequestsurl='www.920vip.net'headers={'User-Agent':"Mozilla/5.0(WindowsNT6.1......
  • 盘点爬虫HTTP代理使用的常见问题及解决思路
    在使用爬虫HTTP代理过程中经常会遇到一些奇奇怪怪的问题,常见的可能就是超时、访问速度慢,今天就来跟大家探讨下哪些情况下容易出现这种问题,以及如何测试并解决。1、......
  • 非侵入式入侵 —— Web缓存污染与请求走私
    作者:vivo互联网安全团队-GuiMingcheng本文介绍了两种攻击者无需直接接触服务端即可攻击和影响用户行为的安全漏洞——Web缓存污染与请求走私。Web缓存污染旨在通过......
  • 如何获取高质量的爬虫ip
    对于刚学爬虫的程序员来说,解决爬虫封ip问题多数都是百度搜索免费的爬虫代理使用,我们都知道这类你代理可用率极低,这种爬虫ip时效还很短,这大大的增加了工作效率得不偿失。免......
  • 前端开发爬虫首选puppeteer
    很多前端同学可能对于爬虫不是很感冒,觉得爬虫需要用偏后端的语言,诸如python、php等。当然这是在nodejs前了,nodejs的出现,使得Javascript也可以用来写爬虫了。但这是......
  • python爬虫案列03,爬取58二手房信息
    importrequestsfromlxmlimportetreeurl="https://fy.58.com/ershoufang/?PGTID=0d100000-0091-53ca-4993-576198ca62e3"headers={"user-agent":"Mozilla/5.......
  • AngularJS实现跨域请求
    跨域,前端开发中经常遇到的问题,AngularJS实现跨域方式类似于Ajax,使用CORS机制。下面阐述一下AngularJS中使用$http实现跨域请求数据。AngularJSXMLHttpRequest:$http用于读......
  • python爬取免费高匿爬虫ip
    现在大部分门户网站都会做一些反爬虫的策略,对于长期做数据爬虫的程序猿来说那是深有体会。其实说白了就是用同一个地址频繁去爬虫一个网页很容易导致ip被关进小黑屋,为了安......
  • Python3爬虫教程之ADSL拨号爬虫ip池的使用
    在我之前做爬虫经常需要维护自己的爬虫ip池,他可以挑选出很多有用的爬虫地址,因为不是专业的而且这些爬虫ip通常是公共爬虫ip,所以可用率不是太高,而且这样类型的地址很大情况下......