avatar
文章
55
标签
37
分类
19

首页
时间轴
标签
分类
Link
关于
修行的技术阁
首页
时间轴
标签
分类
Link
关于

修行的技术阁

Scrapy输出JSON中文乱码
发表于2020-08-22|Scrapy
If you’re not statisfied with the life you’re living, don’t just complain. Do something about it. ——《三十而已》 对于现状的不满, 你不能只是抱怨, 而是要有勇气做出改变。 发现问题 在使用下面的命令运行scrapy使其输出json格式时,出现了中文乱码问题, 如下图: 1scrapy crawl spidername -o test.json 解决问题 方法一 运行爬虫时指定编码格式, 即在命令后面增加 -s FEED_EXPORT_ENCODING=utf-8。如下: 1scrapy crawl spidername -o test.json -s FEED_EXPORT_ENCODING=utf-8 方法二 方法一虽然可以解决问题,但并没有一劳永逸,每次运行爬虫都需要指定编码格式。所以我们直接在 settings 中指定编码格式。在合适的位置加入下面一行即可。 1FEED_EXPORT_ENCODING = 'utf-8' 方法三 自定义Pipeline, ...
正则表达式
发表于2020-06-07|RE
If you keep on believing, the dreams that you wish will come true. ——《仙履奇缘》 坚持心中有梦,终有一日它会实现。 概念   正则表达式,又称规则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 特点 灵活性、逻辑性和功能性非常强; 可以迅速地用极简单的方式达到字符串的复杂控制。 对于刚接触的人来说,比较晦涩难懂。 元字符 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,‘n’ 匹配字符 “n”。‘\n’ 匹配一个换行符。序列 ‘\\’ 匹配 “\” 而 “\(” 则匹配 “(”。 ^ 匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中 ...
分词
发表于2020-05-06|面试题
Don’t fear failure. Be afraid of not having the chance. ——《赛车总动员》 不要害怕失败,而应该害怕没有机会。 问题   让函数 WordSplit(strArr) 读取存储在 strArr 中的字符串数组,该数组将包含2个元素:第一个元素将一个字符串,第二个元素是一个由逗号分隔的长字符串。例如:strArr 可以是:[“hellocat”, “apple,bat,cat,goodbye,hello,yellow,why”]。您的目标是确定输入中的第一个元素是否可以分为两个词,其中两个词都存在于第二个长字符串中。在此示例中,第一个元素可以分为两个词:hello 和 cat 因为这两个词都在长字符串中。   您的程序应返回长字符串中存在的两个单词,并用逗号分隔。因此,对于上面的示例,您的程序应返回hello,cat。只有一种正确的方法将字符的第一个元素分成两个单词。如果无法将字符串分成长字符串中存在的两个单词,则返回字符串 not possible 。第一个元素本身永远不会在长字符串中作为真实单词存在。 例子 12输入:[&quo ...
最近的较小值
发表于2020-05-06|面试题
Do not let your emotions override you judgement. ——《惊奇队长》 别让情绪干扰了你的理智和判断力。 问题   让函数 NearestSmallerValues(arr) 接受一个存储在 arr 中的整数数组,并为列表中的每个元素搜索它本身所有先前值,以查找小于当前元素的最近元素,并从这些数字创建一个新列表。如果在某个较小位置之前没有元素,则在新列表中当前位置的值为 -1 。   例如:如果 arr 为[ 5, 2, 8, 3, 9, 12 ],则最接近的较小值列表为[-1, -1, 2, 2, 3, 9]。   逻辑如下:对于5,没有较小的先前值,因此到目前为止的列表为[-1]。对于2,也没有较小的先前值,因此列表现在为[-1,-1]。对于8,距离最近的较小值为2,因此列表现在为[-1, -1, 2]。对于3,最近的较小值也是2,因此列表现在为[-1, -1, 2, 2]。以此类推。程序最终以空格分隔的字符串的形式输出:-1 -1 2 2 3 9 例子 12输入:[5, 3, 1, 9, 7, 3, 4, 1]输出:-1 -1 -1 ...
Python爬取天眼查
发表于2020-04-13|爬虫
If you can take it, you can make it. ——《坚不可摧》 敢于实践,方能实现。 PS: 本文仅供学习参考、仅供学习参考、仅供学习参考,不得用于商业用途。 整体思路   首先使用requests从手机端网页获取公司的ID,然后请求Fiddler 4 抓取到的小程序API接口,最后持久化储存至CSV文件。 配置 Fiddler 4 配置   打开Fiddler 4 ,找到上方 Tools 并点击,选择Options,按照下图勾选设置。 IOS 配置   请先确保手机与电脑在同一局域网下。查看windows的IP地址,Win + R,输入cmd进入命令行窗口,输入以下命令: 1ipconfig   因为我连接的是WiFi,所以直接查看IPv4地址即可。   设置手机代理:打开设置 --> 选择无线局域网 --> 点击你所连接WiFi的蓝色区域 --> 滑到底部,点击配置代理 --> 选择手动,按照下图输入你的IP地址以及端口号 --> 点击右上角储存。   打开iPhone的Safari浏览器,输入你电脑的IP地址: ...
Python实现冒泡排序和选择排序
发表于2020-04-12|面试题
Every obstacle is an opportunity. ——《快乐的大脚》 每一次挫折都是一次机会。 冒泡排序 原理 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 3.针对所有的元素重复以上的步骤,除了最后一个。 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 代码实现 12345678910111213141516171819def bubble_sort(nums_list): flag = 0 # 是否交换的标志 for j in range(len(nums_list) - 1): # 这个循环负责设置冒泡排序进行的次数 for i in range(len(nums_list) - j - 1): # i为列表下标 if nums_list[i] > nums_list[i + 1]: nums_list[i], nu ...
JDK安装及环境配置
发表于2020-04-10|JDK
When the Lord closes a door, somewhere he opens a window. ——《音乐之声》 上帝关上一扇门,他会在某处打开一扇窗。 JDK下载   oracle官网地址:https://www.oracle.com/java/technologies/javase-downloads.html 。这里选择了Java SE 13 ,你也可以选择其他版本。   点击JDK Download 也就上图中红框圈住的地方。进入版本选择页面,选择Windows x64 Installer 对应的版本,即下图红框圈住的那个。   这时会弹出一个让你接受协议的弹窗,按照下图所示点击,即可下载。   下载完成 JDK安装   双击刚下载完成的安装包,点击是   点击下一步   默认安装位置是C:\Program Files\,(如果你不想安装在C盘可以点击更改选择其他盘符且路径不要包含中文)这里我是直接下一步,也就是默认安装路径。   稍等片刻,直至出现下图,点击关闭。 JDK配置环境变量   安装完成还不够,还需要去配置环境变量。使用 win ...
爬取豆瓣音乐Top250(多线程、多进程)
发表于2020-04-08|爬虫
If you stay positive, you have a shot at a sliver lining. ——《乌云背后的幸福线》 山重水复疑无路,柳暗花明又一村。 站点分析   本次抓取目标是豆瓣音乐Top250排行榜,目标站点为 https://music.douban.com/top250 ,打开之后便可以查看榜单。   将网页滑到最下方,发现有分页,点击切换到第2页,观察URL的变化。发现页面的URL变成了 https://music.douban.com/top250?start=25 ,如下图:   比之前的URL多了一个start参数,初步推断这是一个偏移量的参数。再点击下一页,start参数变成了50。多次切换页码offset都有改变,由此得出规律,start代表偏移量值。也就是说Top250我们只需要分开请求10次即可,而10次的参数分别设置为0、25、50…225即可。   使用Chrome浏览器开发者模式查看源代码。选中任意一个条目,发现其详情页链接在class属性为ngb的a节点。 1all_music_url = tree.xpath( ...
Python多线程多进程编程
发表于2020-04-01|Python
There must be a good reason for our suffering. ——《加勒比海盗》 苦尽则甘来。 进程与线程 进程   计算机程序只是存储在磁盘上的可执行二进制(或其他类型)文件。只有把它们加载到内存中并被操作系统调用,才拥有其生命期。进程(有时称为重量级进程)则是一个执行中的程序。 每个进程都拥有自己的地址空间、 内存、 数据栈以及其他用于跟踪执行的辅助数据。操作系统管理其上所有进程的执行,并为这些进程合理地分配时间。进程也可以通过派生(fork 或 spawn)新的进程来执行其他任务,不过因为每个新进程也都拥有自己的内存和数据栈等,所以只能采用进程间通信(IPC)的方式共享信息。 线程   线程是程序执行时的最小单位(有时候称为轻量级进程),不过它们是在同一个进程下执行的,它是进程的一个执行流,并共享相同的上下文。可以将它们认为是在一个主进程或"主线程"中并行运行的一些"迷你进程" 。   线程包括开始、执行顺序和结束三部分。它有一个指令指针,用于记录当前运行的上下文。当其他线程运行时,它可以被抢占(中断)和临 ...
模拟登录淘宝并抓取指定商品(Selenium + pyquery + MongoDB)
发表于2020-03-23|爬虫
The future has not been written. There is no fate but what we make for ourselves. ——《终结者3》 一切未成定局,未来等你去开创。 PS: 本文仅供学习参考、仅供学习参考、仅供学习参考,不得用于商业用途。 使用微博账号登录淘宝   目前的淘宝,如果未登录是不能搜索商品的,如果使用淘宝的账号密码需要验证验证码,然后就想着用其他账号登录淘宝–微博账号。使用微博账号登录淘宝需要先绑定淘宝账号。步骤:登录淘宝 —— 点击你的用户名 —— 点击账号管理 —— 点击微博绑定设置,然后按照提示一步步来就好。 登录流程 代码实现 123456789101112131415161718192021222324252627282930313233343536373839from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWai ...
1234…6
avatar
Mr.xiuxing
爱生活,爱技术
文章
55
标签
37
分类
19
Follow Me
公告
This is my Blog
最新文章
mouyandianying signKey 分析及页面字体反爬2023-02-12
mouhongshu Web 端 x-s 逆向分析2023-02-11
Wireshark 选择网卡时出错。 The capture session could not be initiated on capture device "en0" (You don't have permission to capture on that device).2023-02-05
当 Selenium 遇上 iframe 内嵌#document2023-02-03
树莓派折腾记(三)-- 远程启动 Windows 电脑2023-01-19
分类
  • Git1
  • HTTP1
  • Hexo1
  • JDK1
  • JS逆向10
  • Linux12
  • MySQL1
  • Nginx1
标签
XPath CSS反爬 SSL webpack Linux Git JS混淆 自动化 Hexo 逆向 pyquery 爬虫 多进程 Wireshark MySQL 验证码 植物 pymysql Nginx 面试题 错误 HTTP 字体反爬 JS逆向 CentOS MongoDB Ubuntu Selenium 伪元素混淆 requests RE Python JDK Scrapy Django 多线程 GIL锁
归档
  • 二月 20234
  • 一月 20232
  • 十一月 20221
  • 九月 20221
  • 五月 20223
  • 四月 20223
  • 六月 20211
  • 一月 20212
网站资讯
文章数目 :
55
已运行时间 :
本站总字数 :
61.1k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2019 - 2025 By Mr.xiuxing
框架 Hexo|主题 Butterfly