• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[郭立员] [安卓按键]伪装成浏览器采集网页数据 [复制链接]

1#

大家好,我是郭立员~

这两天群友接了一单定制脚本的活,采集500彩票网的开奖数据,具体细节我没问,通过问我的问题,我猜猜采集的数据可能是这个:


采集的目标网址:https://kaijiang.500.com/shtml/ssq/03001.shtml

遇到的问题是啥呢?

使用按键直接获取网页源码得到的结果是这样的:

  1. TracePrint url.get("https://kaijiang.500.com/shtml/ssq/03001.shtml")
复制代码
  1. 当前脚本第1行:<html>
  2. <head><title>301 Moved Permanently</title></head>
  3. <body bgcolor="white">
  4. <center><h1>301 Moved Permanently</h1></center>
  5. <hr><center>nginx</center>
  6. </body>
  7. </html>
复制代码

返回的结果是301重定向(并不是报错),无法获取到网页的html源码,我用浏览器自带的抓包调试工具看了一下,也没有跳转到别的网址,猜测是网页为了限制爬虫采集,做了一个假的跳转。

因为浏览器可以正常访问页面,所以想到的方法就是伪装成浏览器获取网页源码。

说是伪装,其实就是在http请求头里面加上User-Agent参数,很多做过抓包协议的人都懂的。

这个文章就这么一个知识点,直接上源码:

  1. Import "shanhai.lua"
  2. Dim uri = "https://kaijiang.500.com/shtml/ssq/03001.shtml"
  3. Dim hader = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) Apple WebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36"
  4. Dim date1 = {"url":uri,"code":"gb2312", "cookie":"", "header":{"User-Agent":hader}}
  5. Dim login = Url.HttpPost(date1)
  6. TracePrint login

  7. Dim arr=shanhai.RegexFind(login,"<li class=""ball_.-"">(.-)</li>")
  8. For Each k In arr
  9. TracePrint k
  10. Next
  11. Dim haoma=shanhai.RegexFind(login,"出球顺序:.-<td>(.-)<")
  12. TracePrint haoma(0)
复制代码

还有一点需要注意的,网站编码是GB2312,所以HttpPost命令的code需要修改一下,否则网页中汉字部分会出现乱码。


最后编辑郭立员 最后编辑于 2022-02-16 22:55:41
扫码免费获取我的基础教程【视频教程】
扫码下方二维码关注我的公众号:3分钟学堂

QQ交流群:936858410
2#

学习

发新话题 回复该主题