- 博客(15)
- 收藏
- 关注
原创 php生成格雷码
根据格雷码生成规则写一个php代码:var_dump(gelei(4));function gelei($n) { $pow = pow(2, $n); $last = $n - 1; $list = array_fill_keys(range(0, $pow * $n - 1), 0); $list = array_chunk($list, $n); $gelei = array(0 => 1, 1 => 0); foreach ($list as $k => $l) {
2021-11-08 18:16:03
94
原创 pyppeteer 开发记录
不管怎么对 selenium 的 webdriver 标识进行防御,selenium 爬取还是被识别了。。原因是 selenium 唤起浏览器需要通过 chromedriver.exe / geckodriver.exe 来唤起 谷歌 / 火狐,恰恰就是这些驱动导致 selenium 被识别,好家伙,反爬直接给你釜底抽薪了。网上也有去掉 webdriver 标识并反编译的 chromedriver...
2020-03-04 17:01:37
248
原创 selenium 开发记录
selenium 开发记录初衷项目爬取的页面点击会进行新窗体打开,使用 splash 无法抓取新窗体内容,因此需要 selenium 来获取新窗体内容并执行浏览器动作,爬取到最终想爬的内容。在这里写下开发过程和感想,分享给大家,以期小白们能降低开发难度,少走一些开发坑。selenium 安装直接使用 pip install selenium 安装,浏览器使用火狐,下载链接:https:/...
2019-11-27 12:00:23
135
原创 爬虫开发小记
由于开发需要,希望在一个爬虫文件结束后,接着爬取指定文件,想办法在爬虫文件定义close方法,执行os.system(‘scrapy crawl spider_n’),结果想当然的失败。后来查找cmd命令,发现 && 可以连接多个命令!于是在cmd命令执行 scrapy crawl spider1 && scrapy crawl spider2,果然在spider...
2019-11-14 17:12:07
85
原创 scrapy_splash开发记录
splash安装splash真是好物,由于网站做了很多反爬虫,直接使用 scrapy.Request 访问网站接口爬取信息有很多限制,甚至连接口都不能直接发起成功,逆向js又特别麻烦,splash可以帮爬虫在访问网站时模拟浏览器,不管网站 js 怎么绕,都像你用浏览器打开这个网站一样方便,之后你指定 splash 返回的格式就可以愉快的处理爬取信息了,splash 的属性和定义网上都有哦。我用...
2019-09-28 10:42:35
212
原创 PHP根据条件分页
题目:一个数组有0和1,各值数目不定,其中单页0连续数最多排4个,单页1连续数最多排3个,0和1处在同一页则自适应为6个。<?php/* * 0连续最多排4个 * 1连续最多排3个 * 0和1自适应共6个 * */$arr = array(0,0,0,0, //0 1,1,0,0,0,0, //1 0,0,1,1,1,1, //2 1,0,0,1,1,...
2019-05-30 17:08:22
402
原创 Android 传递 json 字符串给前端 js
开发过程中,试验过用 Android 后台自定义 json 字符串传递给前端 js 时是不成功的,使用 java 创建的json对象在转的 json 字符串前端 js 才可以使用。jsonObject.put()这句话一定要写在try{}里,不然会报错 @JavascriptInterface public String getVisitorsAccount(){ ...
2019-04-11 10:51:55
1955
转载 Android 定义NetUtil(网络通用类)
在这里记录一下开发过程使用的Android网络通用类,上代码:package com.example.com.hello1;import android.annotation.SuppressLint;import android.content.Context;import android.net.ConnectivityManager;import android.net.Netw...
2019-04-11 10:45:12
566
原创 Android 自定义user_age
APP内嵌外链加载的是网址,浏览器也能打开该网址,但涉及到游客登录时后端会判断ajax提交环境是端环境还是web环境,这里需求是游客登录必须在端环境下才可以注册成功。下列代码是user_age的存取,代码块放在webview初始化附近。 String userAgent = mWebSettings.getUserAgentString();//取出user_age userAgent +=...
2019-04-09 15:25:57
283
原创 Android 网页登录成功后记住账号和密码
由于APP加载的是外链h5页面,因此账号和密码的内容就通过外链的js函数传递到java中来,走的是@JavascriptInterface接口,并在该函数中进行SharedPreferences的写入。这里主要写SharedPreferences的存取。SharedPreferences配置参数:MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写...
2019-04-04 15:55:05
1126
原创 Android Studio 嵌入X5WebView
制作好APP在真机上运行时发现页面总是略大于屏幕,查询网上的解决方法,通过Android原生webview设置分辨率啦、缩放啦、自适应等等,没啥用。后来看到X5WebView很多人赞,行吧,我也试试看好了。走攻略下载X5WebView项目,主要从demo项目中复制下图对应文件夹下的文件到我的项目中来。在gradle.properties中加入代码android.useDeprecated...
2019-04-04 15:34:37
866
原创 PHP按数字大小做合并处理
有个开发要求:1,3,4,5,7,8,9,11需要处理成1,3-5,7-9,11输出,现记录开发过程。代码内容如下:function getMergeName($snos) { sort($snos); $ranges = array(); $currRange = array(); $lastSno = null; foreach ($snos as $sno) { if ($...
2019-03-28 14:05:43
169
原创 Android studio生成自定义包名
首先打开build.gradle文件:在android {}里写入代码块:android.applicationVariants.all { variant -> variant.outputs.all {//这里是all,下面是根据自己的情况来定制 outputFileName = "我的应用.apk" } }好了,...
2019-03-28 13:46:07
907
原创 Android studio 模拟器
模拟器首推夜神模拟器之前配置模拟器用genymotion,按攻略走了半天终于可以运行模拟器了,开心的我打开Android Studio准备运行项目,哎?模拟器呢,跟我躲猫猫呢。。明明在Android Studio用genymotion插件启动了模拟器,结果运行项目中一直没出现。气的我没蛋也疼了,浪费了好几天的时间还是抛弃了genymotion,重新另找了新欢——夜神,我的测试小伙伴。夜神模拟器...
2019-03-28 11:46:43
343
原创 Android开发笔记:内嵌外链
先做一个简单的APP,直接用现有的h5页面套用到APP中,就是内嵌外链。现记录开发过程,以方便以后实时阅览。用Android studio创建新项目,我的项目名称都采用默认。activity_ main.xml作用是APP的显示布局,外链展示放在WebView控件中,内容如下:<?xml version="1.0" encoding="utf-8"?><!-- Thi...
2019-03-28 10:44:48
763
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人