用iApp写爬虫(手动滑稽)

2023-12-30 02:32
文章标签 爬虫 手动 iapp 滑稽

本文主要是介绍用iApp写爬虫(手动滑稽),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在安卓和ios出现以前,移动端的游戏主要来自J2ME平台,但随着安卓与ios的出现,这种平台上的游戏逐渐没落,很多提供相关游戏资源下载的网站相继关闭。所以,我打算在所剩不多的游戏网站关闭之前,抓取所有与游戏相关的资源。以7723为例,我们要抓取的内容包括游戏名称、游戏类型、语言、更新时间、游戏介绍、游戏图标、游戏截图(jpg、png、gif)、游戏评论、以及相应的jar、sis、six格式的软件包,以此形成一个资料详细完整的游戏文件夹,资源总大小75G。

实例链接:http://www.7723.cn/download/12215.htm

1.首先找到对应内容的HTML页面,如下图所示。

 

 

简单分析一下页面的html代码结构就可以开始写啦。 

2.创建图形界面,文本框及按钮对应序号如右图所示。

3. 代码部分,写在按钮5点击事件中。

ug(3,"text",st)
ug(4,"text",en)
sss en = en
t()
{//软件总数12216 设为变量javanum//文件名规则:1.文件名=分辨率//2.创建文件夹命名规则=游戏名+类型+语言+编号+更新日期//3.文件夹内包括游戏=游戏介绍文本+更新日期+介绍图+截图+各分辨率版本(触屏)+评论s javanum = stw(javanum!=en){ufnsui(){ss("下载到:" + javanum,xzd)us(7,"text",xzd)}syso(javanum)s downloadaddf="http://www.7723.cn/download/"s downloadaddb=".htm"ss(downloadaddf + javanum + downloadaddb,add)hs(add,origin)w(origin==null){s(javanum+1,javanum) s downloadaddf="http://www.7723.cn/download/"s downloadaddb=".htm"ss(downloadaddf + javanum + downloadaddb,add)hs(add,origin)f(javanum>=en){end()}}//第一步:获取应用名namesiof(origin,"<title>",name1)s(name1 + 50,name11)ssg(origin,name1,name11,namep)siof(namep,"_",name2)ssg(namep,7,name2,name)sr(name,":",":",name)sr(name,"*"," ",name)sr(name,"?","",name)//第二步:获取游戏类型、语言、以及更新日期//1.得到类型typesiof(origin,"<dd>类型",type1)s(type1+150,type11)ssg(origin,type1,type11,typep)siof(typep,"</dd>",type2)ssg(typep,7,type2,type)s(type2 + 6,type2)ssg(typep,type2,typep)//2.得到语言languagesiof(typep,"<dd>语言",language1)s(language1 + 7,language1)siof(typep,"</dd>",language2)ssg(typep,language1,language2,language)s(language2 + 6,language2)ssg(typep,language2,languagep)//3.得到更新日期datesiof(languagep,"更新日期",date1)s(date1 + 5,date1)siof(languagep,"</dd>\n</dl>",date2)ssg(languagep,date1,date2,date)//第三步:获取游戏介绍introduces sign="<div class="container">"siof(origin,sign,introduce1)s(introduce1 + 500,introduce2)s(introduce1 + 24,introduce1)ssg(origin,introduce1,introduce2,introducep)siof(introducep,"</div>",introducepl)ssg(introducep,0,introducepl,introduce)//第四步:获取评论commentalls sign = "<ul class="commentList">"siof(origin,sign,comment1)s(comment1 + 26,comment1)s signa = "<p class="more"><a target=\"_blank"siof(origin,signa,comment2)ssg(origin,comment1,comment2,comment)//评论处理,调用循环sr(comment,"<li>"," ",comment)sr(comment,"</li>"," ",comment)sr(comment,"</h4>"," ",comment)siof(comment,"<h4>",commentst)s order = 0s commentall = ""w(commentst != -1){//获取评论用户名s(commentst + 4,commentst)siof(comment,"评论于",commenten)ssg(comment,commentst,commenten,username)s(commenten + 3,commenten)ssg(comment,commenten,comment)//获取评论时间commenttimesiof(comment,"<span>",commenttimest)s(commenttimest + 6,commenttimest)siof(comment,"</span>",commenttimeen)ssg(comment,commenttimest,commenttimeen,commenttime)s(commenttimeen + 9,commenttimeen)ssg(comment,commenttimeen,comment)//获取评论内容commentcontentsiof(comment,"<p>",commentcontentst)s(commentcontentst + 3,commentcontentst)siof(comment,"</p>",commentcontenten)ssg(comment,commentcontentst,commentcontenten,commentcontent)s(commentcontenten + 9,commentcontenten)ssg(comment,commentcontenten,comment)//循环关键s(order + 1,order)siof(comment,"<h4>",commentst)//评论组合ss(order + ". " + username + " " + commentcontent + "(" + commenttime + ")" + "\n" + "\n",commentsum)ss(commentall + commentsum,commentall)}//第五步:创建文件夹(包含创建游戏详情)s head = "windows/BstSharedFolder/Gaoithe/javagame/"s bl = " "ss(javanum + "." + name + bl + type + bl +language + bl + date + "/",body)ss("游戏名:" + name + "\n" + "类型:" + type + "\n",p1)ss("语言:" + language + "\n" + "游戏介绍:" + introduce + "\n",p2)ss("评论:" + "\n" + commentall + "\n" + "更新日期:" + date + "\n",p3)ss(p1 + p2 + p3,information)ss(head + body + "游戏介绍.txt",file)fw(file,information)//第六步:获取介绍图siof(origin,"7723网游群",pic1)siof(origin,"如何下载到手机",pic2)ssg(origin,pic1,pic2,pic)siof(pic,"src=",picwebst)s(picwebst + 5,picwebst)siof(pic,"alt=",picweben)s(picweben - 2,picweben)ssg(pic,picwebst,picweben,picweb)slof(picweb,".",add1)s(add1 + 1,add1)ssg(picweb,add1,add)f(add!="jpg" && add!="png" && add!="gif" && add!=null){ss(head + body + "缺少介绍图.text",filepic)fw(filepic,"lack")}f(add == "jpg"){ss(head + body + "介绍图.jpg",file)t(){hd(picweb,file,true,picreturn)f(picreturn==-1){ss(head + body + "缺少介绍图.text",filepic)fw(filepic,"lack")}          }stop(100)}else{f(add == "gif"){ss(head + body + "介绍图.gif",file)t(){hd(picweb,file,true,picreturn)f(picreturn==-1){ss(head + body + "缺少介绍图.text",filepic)fw(filepic,"lack")}}stop(100)}else{f(add=="png") {ss(head + body + "介绍图.png",file)t(){hd(picweb,file,true,picreturn)f(picreturn==-1){ss(head + body + "缺少介绍图.text",filepic)fw(filepic,"lack")}} stop(100) }                    }       }//第七步:获取截图siof(origin,"<h3>游戏截图</h3>",gamepic1)siof(origin,"<h3>游戏下载</h3>",gamepic2)ssg(origin,gamepic1,gamepic2,gamepictext)siof(gamepictext,"src=",gamepicwebst)s order = 1w(gamepicwebst != -1){s(gamepicwebst + 5,gamepicwebst)siof(gamepictext,"nbsp",gamepicweben)s(gamepicweben - 4,gamepicweben)ssg(gamepictext,gamepicwebst,gamepicweben,gamepicweb)slof(gamepicweb,".",add1)s(add1 + 1,add1)ssg(gamepicweb,add1,add)f(add!="jpg" && add!="png" && add!="gif" && add!=null){                                                                            ss(head + body + "缺少截图.text",filepic)fw(filepic,"lack")                                         }f(add == "jpg"){ss(head + body + "截图" + order + ".jpg",file)t(){hd(gamepicweb,file,true,gamepicreturn)f(gamepicreturn==-1){ss(head + body + "缺少截图.text",filepic)fw(filepic,"lack")}}stop(100)}else{f(add == "gif"){ss(head + body + "截图" + order + ".gif",file)t(){hd(gamepicweb,file,true,gamepicreturn)f(gamepicreturn==-1){ss(head + body + "缺少截图.text",filepic)fw(filepic,"lack")}}stop(100)}                                   else{f(add=="png") {ss(head + body + "截图" + order + ".png",file)t(){hd(gamepicweb,file,true,gamepicreturn)f(gamepicreturn==-1){ss(head + body + "缺少截图.text",filepic)fw(filepic,"lack")}}stop(100)  }                   }                                                                     }s(order + 1,order)s(gamepicweben + 10,gamepicweben)ssg(gamepictext,gamepicweben,gamepictext)siof(gamepictext,"src=",gamepicwebst)}//第八步:获取java文件//获取下载文本部分siof(origin,"<h3>游戏下载</h3>",gamedownload1)siof(origin,"<h3>手机用户评论",gamedownload2)ssg(origin,gamedownload1,gamedownload2,gamedownloadtext)siof(gamedownloadtext,"<li>",gamedownloadtext1)ssg(gamedownloadtext,gamedownloadtext1,gamedownloadtext)//获取软件适用机型及分辨率siof(gamedownloadtext,"<p>",gamedownloadtypest)s downnum=1 //防止重复覆盖w(gamedownloadtypest != -1){s(gamedownloadtypest + 3,gamedownloadtypest)siof(gamedownloadtext,"<br /",gamedownloadtypeen)ssg(gamedownloadtext,gamedownloadtypest,gamedownloadtypeen,gamedownloadtype)//获取下载地址siof(gamedownloadtext,"href=",gamewebst)s(gamewebst + 6,gamewebst)siof(gamedownloadtext,"target",gameweben)s(gameweben - 2,gameweben)ssg(gamedownloadtext,gamewebst,gameweben,gameweb)//获取文件后缀名siof(gamedownloadtext,"点击下载",gameadd1)s(gameadd1 + 5,gameadd1)siof(gamedownloadtext,"nbsp",gameadd2)s(gameadd2 - 2,gameadd2)ssg(gamedownloadtext,gameadd1,gameadd2,gameadd)//下载文件ss(head + body + gamedownloadtype + downnum + "." + gameadd,file)t(){hd(gameweb,file,false,gamedownloadreturn)}stop(200)//循环关键siof(gamedownloadtext,"<br /></p>",cuttext)s(cuttext + 20,cuttext)ssg(gamedownloadtext,cuttext,gamedownloadtext)siof(gamedownloadtext,"<p>",gamedownloadtypest)s(downnum+1,downnum)}//ufnsui()
//  {//  us(1,"text",gameadd)// }stop(3000)s(javanum + 1,javanum)}      }

 4. 文件预览:

注意:由于软件是用模拟器跑的,所以使用时注意更改路径。

这篇关于用iApp写爬虫(手动滑稽)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/551434

相关文章

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

Golang 网络爬虫框架gocolly/colly(五)

gcocolly+goquery可以非常好地抓取HTML页面中的数据,但碰到页面是由Javascript动态生成时,用goquery就显得捉襟见肘了。解决方法有很多种: 一,最笨拙但有效的方法是字符串处理,go语言string底层对应字节数组,复制任何长度的字符串的开销都很低廉,搜索性能比较高; 二,利用正则表达式,要提取的数据往往有明显的特征,所以正则表达式写起来比较简单,不必非常严谨; 三,使

Golang网络爬虫框架gocolly/colly(四)

爬虫靠演技,表演得越像浏览器,抓取数据越容易,这是我多年爬虫经验的感悟。回顾下个人的爬虫经历,共分三个阶段:第一阶段,09年左右开始接触爬虫,那时由于项目需要,要访问各大国际社交网站,Facebook,myspace,filcker,youtube等等,国际上叫得上名字的社交网站都爬过,大部分网站提供restful api,有些功能没有api,就只能用http抓包工具分析协议,自己爬;国内的优酷、

Golang网络爬虫框架gocolly/colly(三)

熟悉了《Golang 网络爬虫框架gocolly/colly 一》和《Golang 网络爬虫框架gocolly/colly 二》之后就可以在网络上爬取大部分数据了。本文接下来将爬取中证指数有限公司提供的行业市盈率。(http://www.csindex.com.cn/zh-CN/downloads/industry-price-earnings-ratio) 定义数据结构体: type Zhj

014.Python爬虫系列_解析练习

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈 PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈 Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈 优

urllib与requests爬虫简介

urllib与requests爬虫简介 – 潘登同学的爬虫笔记 文章目录 urllib与requests爬虫简介 -- 潘登同学的爬虫笔记第一个爬虫程序 urllib的基本使用Request对象的使用urllib发送get请求实战-喜马拉雅网站 urllib发送post请求 动态页面获取数据请求 SSL证书验证伪装自己的爬虫-请求头 urllib的底层原理伪装自己的爬虫-设置代理爬虫coo

Python 爬虫入门 - 基础数据采集

Python网络爬虫是一种强大且灵活的工具,用于从互联网上自动化地获取和处理数据。无论你是数据科学家、市场分析师,还是一个想要深入了解互联网数据的开发者,掌握网络爬虫技术都将为你打开一扇通向丰富数据资源的大门。 在本教程中,我们将从基本概念入手,逐步深入了解如何构建和优化网络爬虫,涵盖从发送请求、解析网页结构到保存数据的全过程,并讨论如何应对常见的反爬虫机制。通过本教程,你将能够构建有效的网络爬

0基础学习爬虫系列:网页内容爬取

1.背景 今天我们来实现,监控网站最新数据爬虫。 在信息爆炸的年代,能够有一个爬虫帮你,将你感兴趣的最新消息推送给你,能够帮你节约非常多时间,同时确保不会miss重要信息。 爬虫应用场景: 应用场景主要功能数据来源示例使用目的搜索引擎优化 (SEO)分析关键词密度、外部链接质量等网站元数据、链接提升网站在搜索引擎中的排名市场研究收集竞品信息、价格比较电商网站、行业报告制定更有效的市场策略舆情

0基础学习爬虫系列:程序打包部署

1.目标 将已经写好的python代码,打包独立部署或运营。 2. 环境准备 1)通义千问 :https://tongyi.aliyun.com/qianwen 2)0基础学习爬虫系列–网页内容爬取:https://blog.csdn.net/qq_36918149/article/details/141998185?spm=1001.2014.3001.5502 3. 步骤 1)不知道