首页
学习
活动
专区
圈层
工具
发布

20210903最近两天写代码的心得——PHP

今天2021-09-03 15:54:31 星期五 最近两天在写一个数据抓取的工具,主要是因为要经常统计数据是在是太麻烦了,可能是因为我懒吧哈哈哈 数据抓取当然是需要先获取接口地址了,这个直接用浏览器的控制台就可以了...具体操作如下: 拿到接口访问看到是json形式的,这种比较容易调用,那么我们可以用服务器读取,后先转化为php可以操作的数组。...再看下url的的参数发现是get请求的分页,所以我们也可以自定义请求参数来获取不同的数据 但是,发现需要ciookie才能正常读取数据,所以我们需要创建一个curl的对话模拟真实用户访问,也抓取...curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST...区域内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 $result = curl_exec($curl); //

61130
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MongoDB的行转列查询

    项目组数据需求,需要将Mongo库中的列按日期分组转成行的格式进行显示。Mongo群里问了下,群里热心的大佬小徐 同学果断出手相助,顺利解决了数据问题。...100 } ] ) 表结构截图 期望数据展示 class studentId Enlish Math PE CLASS ONE 1 90 100 40 CLASS ONE 2 95 100 80 查询语句...(3)将学生ID信息也以键值对的形式合并到数组中进行展现 (4)替换掉所有k,v形式,将上述的数组对象Item2以对象的形式展现 完整的查询语句如下所示 db.class.aggregate...item2 (3)将数组对象item2以对象的形式展示,并通过replaceWith函数替换字段值的方式展示结果 db.class.aggregate([ { $group: { _..._id"]], "$item"] } } }, { $replaceWith: { $arrayToObject: "$item2" } } ]) 下面小尝试了下mapReduce 查询每个学生的总分

    11910

    mongodb查询的语法总结

    *corp/i } ); // 后面的i的意思是区分大小写 查询数据内的值 下面的查询是查询colors内red的记录,如果colors元素是一个数据,数据库将遍历这个数组的元素来查询。...因为mongodb对于子对象,他是精确匹配。...mongodb目前没有或(or)操作符,只能用变通的办法代替。 左边是mongodb查询语句,右边是sql语句。对照着用,挺方便。...的纪录 db.food.find({"fruit" : {"$size" : 3}}) // 对数组的查询, 查询数组元素个数是3的记录,$size前面无法和其他的操作符复合使用 db.users.findOne...(10, 11]条,按"x"进行排序; 三个limit的顺序是任意的,应该尽量避免skip中使用large-number 使用 $where 查询(性能稍逊一些) //查询商品名称长度大于25个字符的商品

    2.5K30

    查找二维数组的最大值及其位置

    查找二维数组的最大值及其位置-Java实现 例: 封装一类 MatrixLocation,查询二维数组中的最大值及其位置。...最大值用 double 类型的maxValue 存储,位置用 int 类型的 row 和 column 存储。封装执行主类,给定二维数组,输出最大值及其位置。封装执行主类。...这道题目就是一道简单的二维数组查找问题,遍历二维数组即可找到最大值。...方法不能其实有一些问题,它只能输出最大值在数组中第一次出现的位置,这是由于题目已经规定好了最大值的下标用int row、int column表示。...如果自己写的话,可以用另外的两个数组分别保存最大值的行下标与列下标,实现将最大值在数组中所有出现的位置都输出。

    3.5K20

    如何在附近商户中查找离你最近的商家?

    前提背景用户位置按照经纬度获取用户可选范围内的商家查询后的结果按顺序返回给用户商户位置以经纬度存储常用方法数据库查询筛选 根据用户当前位置和用户所选择范围, 在数据库中查询后将结果在数据库中排序或者在内存中排序..., 另外mysql中还有point类型, 用来表示点的位置, 我们可以利用ST_Distance_Sphere函数来计算店铺点位与用户点位之间的距离, 在做筛选也可关于数据库查询更优秀的写法大家可以看看这篇文章附近商家算法...1km * 1km,那么我就将中国分为n个1km*1km的小块存在数中, 四叉树的是将中国分为四块, 每块再划分四块, 知道划分为最小块, 之后我们新增商户或者查询的时候都可以在树中查询 查询的时候...10km,相邻矩形块有c点,c与a的距离为5km,由于a与b前缀编码相同位数更多,将会认为a与b的距离更近,因此为了避免边缘问题,我们在检索时,还要将相邻矩形块也一起遍历,,也就是看似在第三层矩形中找距离最近的点实际上由于边缘问题...,我们应该在第二层找最近节点

    1.9K10

    linux中查找最近或今天修改过的文件

    linux中查找最近或今天修改过的文件 某些情况下,我们需要找到今天被修改过的文件,以下列出两种方法。...date +%D’ 可以使用-S标志根据大小排序: ls -alS --time-style=+%D | grep ‘date +%D’ 2.也可以使用find 命令 -maxdepth level 查找的层级...-newerXY,其中X指代find的目标文件属性,Y代表参照属性。...X 和 Y 代表以下任一字母 a – 文件的访问时间 B – 文件的创建时间 c – 文件元数据(权限)被修改的时间 m – 文件内容的修改时间 t – 代表客观绝对时间,只作为参照属性存在,格式为...查找2021-11-08修改过的文件: find . -maxdepth 1 -newermt “2021-11-08” 或者,使用以下正确的格式: find .

    1.6K10

    最近遇到的一个MongoDB索引顺序的问题

    最近遇到个mongo慢查问题,查询这样子: db.tb1.find({status:'normal', lastReviewTime:{$gte:1583038740,$lte:1585285140}}...                                                },                                                 "indexName" : "idx_stats_typ_execTime",   # 走的这个索引...                                }                         }                 ]         },         "ok" : 1 } 这种情况下,我们的索引顺序需要注意下...,这样写: {精确匹配字段,排序字段,范围查询字段} 这样的索引排序会更为高效 db.tb1.createIndex({status:1,createdTime:-1,lastReviewTime:1}...,{background:true}) 加完索引后,可以发现查询速度有质的飞越了。

    76610

    MongoDB(12)- 查询嵌入文档的数组

    查询嵌套在数组中的文档 查询 instock 数组中包含 { warehouse: "A", qty: 5 } 的所有文档 > db.inventory.find( { "instock": {...paper", "instock" : [ { "warehouse" : "A", "qty" : 60 }, { "warehouse" : "B", "qty" : 15 } ] } 在文档数组中嵌入的字段上指定查询条件...,如果不知道文档的准确索引值,只能按照以下格式 数组字段名.文档字段名 instock.qty 使用数组索引查询嵌入文档中的字段 上面的栗子是直接根据字段名查找 在 instock 数组中,第一个元素包含字段...(多个)查询条件 栗子一 找到在 instock 数组中【至少有一个嵌入文档包含 qty > 10,以及至少有一个嵌入文档(但不一定是同一个嵌入文档)包含 qty ≤20 】的文档 > db.inventory.find...前言 上面的栗子都是单个嵌套文档或多个嵌套文档满足多个查询条件即可 如果想确保单个嵌套文档必须同时满足多个查询条件呢?

    6.1K10

    mongodb的查询语句学习摘要 原

    看了些资料,对应只需要知道怎么查询和使用mongodb的我来说,这些足够啦。 左边是mongodb查询语句,右边是sql语句。对照着用,挺方便。.../i}) // 正则查询,value是符合PCRE的表达式 db.food.find({fruit : {$all : ["apple", "banana"]}}) // 对数组的查询, 字段fruit...中,既包含"apple",又包含"banana"的纪录 db.food.find({"fruit.2" : "peach"}) // 对数组的查询, 字段fruit中,第3个(从0开始)元素是peach...的纪录 db.food.find({"fruit" : {"$size" : 3}}) // 对数组的查询, 查询数组元素个数是3的记录,$size前面无法和其他的操作符复合使用 db.users.findOne..., db.foo.find({"$where" : "this.x + this.y == 10"}) // 复杂的查询,$where当然是非常方便的,但效率低下。

    1.1K30

    使用Spring访问Mongodb的方法大全——Spring Data MongoDB查询指南

    本文介绍使用Spring Data MongoDB来访问mongodb数据库的几种方法: 使用Query和Criteria类 JPA自动生成的查询方法 使用@Query 注解基于JSON查询 在开始前,...2.文档查询 使用Spring Data来查询MongoDB的最常用方法之一是使用Query和Criteria类 , 它们非常接近本地操作符。...3.生成的查询方法(Generated Query Methods) 生成查询方法是JPA的一个特性,在Spring Data Mongodb里也可以使用。...- 在这种情况下,通过名称查找: List findByName(String name); 与上一节相同 2.1 - 查询将具有相同的结果,查找具有给定名称的所有用户: List<User...结论 在本文中,我们探讨了使用Spring Data MongoDB进行查询的常用方法。 本文示例可以从 spring-data-mongodb这里下载。

    3.7K50

    mongodb 前端条件动态查询的几种方式

    mongodb 前端条件动态查询的几种方式 使用场景 在实际的开发中,最常见的是前端有你多个要查询的条件,但是不一定每个条件都是必须的,很多情况下是只需要查询一条或者全部,那是如何应对这种条件是动态的情况呢...案例 动态构建 MongoDB 聚合管道的方式可以根据实际需求选择不同的方法。以下是一些常见的方式: 条件判断: 根据前端传入的条件动态构建聚合管道。...53:36.661Z" }, "syncToCloud": 0, "tableSize": 4, "id": "65d2d0c0434057a3419404be", } // 假设前端要查询的...MongoDB 聚合管道的方式。...根据你的具体需求和代码组织风格,你可以选择其中的一种或多种方式来实现动态构建聚合管道。

    92110
    领券