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:
' 获取网页源码
获取网页源码 = 到文本 (网页_访问 (url, , , , , , , , , , , , ))
调试输出 (获取网页源码)
' 正则匹配照片数量
img_num = 正则_匹配批量_图片地址 (获取网页源码, url)
调试输出 (“照片数量为:” + 到文本 (img_num))
.版本 2
.支持库 spec
.子程序 正则_匹配批量_图片地址, 整数型, 公开, 匹配网页所有(已显示)图片地址。成功返回匹配的数量,失败返回0。
.参数 源文本, 文本型, , 欲被匹配的文本
.参数 domain_url, 文本型, , 网站主域名
.局部变量 局_正则, 正则表达式类, , , 此类为精易模块里面的正则类,精易模块下载地址:http:
.局部变量 局_匹配数, 整数型
.局部变量 匹配文本, 文本型
.局部变量 局_计次, 整数型
.如果真 (局_正则.创建 (“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:
<h2><a id="1____0"></a>1 网页_访问_对象介绍</h2>
<p>详细参考:http://e.125.la/fun-1161.html<br />
本教程基于精易模块<code>网页_访问_对象</code>属性</p>
<h2><a id="2__4"></a>2 参数介绍</h2>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类 型</th>
<th>备注</th>
</tr>
</thead>
<tbody>
<tr>
<td>网址</td>
<td>文本型</td>
<td>完整的网页地址,必须包含http://或者https://</td>
</tr>
<tr>
<td>访问方式</td>
<td>整数型</td>
<td>0=GET 1=POST 2=HEAD 3=PUT 4=OPTIONS 5=DELETE 6=TRACE 7=CONNECT</td>
</tr>
<tr>
<td>提交信息</td>
<td>文本型</td>
<td>"POST"专用 自动UTF8编码</td>
</tr>
</tbody>
</table>
<h2><a id="3__12"></a>3 请求案例</h2>
<h3><a id="31_GET_13"></a>3.1 GET请求</h3>
<pre><div class="hljs"><code class="lang-shell">.版本 2
.支持库 spec
网页_访问_对象 (“http://127.0.0.1/”, 0, , , , , , , , , , , , , )
局_返回 = 到文本 (网页_访问_对象 (“https://www.920vip.net/”, 0, , , , , , , , , , , , , ))
局_返回 = 编码_utf8到gb2312 (局_返回) ' 转码,不然乱码显示
调试输出 (局_返回)
</code></div></pre>
<h3><a id="32_POST_24"></a>3.2 POST请求</h3>
<pre><div class="hljs"><code class="lang-shell">.版本 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”)
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/d5e9977a2a6eb79ac33c3e94fbceaa4a.png" alt="image.png" /></p>
<h2><a id="5__67"></a>5 爬虫获取图片</h2>
<p>精益模块</p>
<p>正则匹配网页图片</p>
<pre><div class="hljs"><code class="lang-c">.版本 <span class="hljs-number">2</span>
.支持库 spec
.子程序 __启动窗口_创建完毕
.局部变量 url, 文本型
.局部变量 获取网页源码, 文本型
url = “https:<span class="hljs-comment">//www.couragesteak.com”</span>
<span class="hljs-string">' 获取网页源码
获取网页源码 = 到文本 (网页_访问 (url, , , , , , , , , , , , ))
调试输出 (获取网页源码)
'</span> 正则匹配照片数量
img_num = 正则_匹配批量_图片地址 (获取网页源码, url)
调试输出 (“照片数量为:” + 到文本 (img_num))
.版本 <span class="hljs-number">2</span>
.支持库 spec
.子程序 正则_匹配批量_图片地址, 整数型, 公开, 匹配网页所有(已显示)图片地址。成功返回匹配的数量,失败返回<span class="hljs-number">0</span>。
.参数 源文本, 文本型, , 欲被匹配的文本
.参数 domain_url, 文本型, , 网站主域名
.局部变量 局_正则, 正则表达式类, , , 此类为精易模块里面的正则类,精易模块下载地址:http:<span class="hljs-comment">//ec.125.la/</span>
.局部变量 局_匹配数, 整数型
.局部变量 匹配文本, 文本型
.局部变量 局_计次, 整数型
.如果真 (局_正则.创建 (“src *= *[<span class="hljs-string">'#引号]*(\S+)[#引号'</span>]”, 源文本, 假, 假, 真, 真) = 假)
信息框 (“正则创建失败,请检查正则表达式语句是否有误!”, #错误图标, , )
返回 (<span class="hljs-number">0</span>)
.如果真结束
局_匹配数 = 局_正则.取匹配数量 ()
img_num = <span class="hljs-number">0</span>
.如果真 (局_匹配数 = <span class="hljs-number">0</span>)
信息框 (“匹配失败,请检检查正则语句是否有误,数量:<span class="hljs-number">0</span>”, #错误图标, , )
返回 (<span class="hljs-number">0</span>)
.如果真结束
.计次循环首 (局_匹配数, 局_计次)
匹配文本 = 局_正则.取子匹配文本 (局_计次, <span class="hljs-number">1</span>)
.如果真 (取文本右边 (匹配文本, <span class="hljs-number">4</span>) = “.gif” 或 取文本右边 (匹配文本, <span class="hljs-number">4</span>) = “.jpg” 或 取文本右边 (匹配文本, <span class="hljs-number">4</span>) = “.png”)
调试输出 (“======”)
<span class="hljs-string">' 调试输出 (取文本左边 (匹配文本, 4))
调试输出 (局_正则.取子匹配文本 (局_计次, 1))
.如果真 (取文本左边 (匹配文本, 4) = “http”)
img_num = img_num + 1
加入成员 (图片_列表, 局_正则.取子匹配文本 (局_计次, 1))
'</span> 下载次数 = 下载次数 + <span class="hljs-number">1</span>
.如果真结束
.如果真 (取文本左边 (匹配文本, <span class="hljs-number">4</span>) ≠ “http”)
调试输出 (“不是全部链接”)
img_num = img_num + <span class="hljs-number">1</span>
加入成员 (图片_列表, domain_url + 局_正则.取子匹配文本 (局_计次, <span class="hljs-number">1</span>))
.如果真结束
输出调试文本 (“匹配文本 ” + 到文本 (局_计次) + “ 中的子匹配文本 <span class="hljs-number">1</span>:” + 局_正则.取子匹配文本 (局_计次, <span class="hljs-number">1</span>))
<span class="hljs-string">' 透明标签2.标题 = “状态:正在导入”
.如果真结束
.计次循环尾 ()
返回 (img_num)
</span></code></div></pre>
<p>下载图片</p>
<pre><div class="hljs"><code class="lang-c">写到文件 (“E:\dev\易语言开发\qrcode_cs.jpg”, HTTP读文件 (“https:<span class="hljs-comment">//static.couragesteak.com/article/common/qrcode_cs.jpg”))</span>
</code></div></pre>
留言