Python爬虫-百度模拟登录(一)

千呼万唤屎出来呀,百度模拟登录终于要呈现在大家眼前了,最近比较忙,晚上又得早点休息,这篇文章写了好几天才完成。这个成功以后,我打算试试百度网盘的其他接口实现。看看能不能把服务器文件上传到网盘,好歹也有几T的空间。

Read More

CI 获取数据库数据类型总是为STRING 的解决方案

使用php的CI框架的时候,发现在数据库中是int型的数据,返回的时候全变成了string了。对于弱类型的语言来说,这个没多大关系,但是,如果是做APP接口,在进行JSON转对象的时候,可能要求score这种字段是int类型,这个时候就不行了。其实这不是CI框架的问题,PHP与mysql的通讯全都用string。

Read More

Flutter解决按钮请求防重复提交

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var lastPopTime;

InkWell(
onTap: (){
// 防重复提交
if(lastPopTime == null || DateTime.now().difference(lastPopTime) > Duration(seconds: 2)){
lastPopTime = DateTime.now();
_payOrder(context);
}else{
lastPopTime = DateTime.now();
MyUtils.showMessage("请勿重复点击!");
}

},
)

新浪微博PC端模拟登陆

工具

这次使用的工具是Charles和chrome浏览器,看过我之前文章的同学应该知道我使用的Mac电脑,Fiddler不能用,之前用虚拟机很麻烦。很早的时候有装过Charles,但是不太会用,后来发现一篇比较详细的文章,忘了记录了。发现Charles还是非常好用的,而且有个很好的功能,就是可以开启多个Session进行抓取对比,这个功能非常👍,如果经常做爬虫调试的人一定能知道。我们抓取一个网站的登录过程,然后在模拟的过程中,可以再另一个session中抓取自己模拟登录的过程,然后对比一下自己的请求发送的数据和浏览器请求发送的数据是否一致。之前我调试一直都是通过打印查看,这样一方面很不方便,另外一方面打印也不完整。所以非常推荐大家使用Charles,网上破解也有很多。

Read More