自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 [python]收纳一些常见问题——更新于20240122

安装pyspider过程出错:ERROR: Command errored out with exit status 10: python setup.py egg_info Check…https://blog.csdn.net/weixin_43810415/article/details/99694315

2019-10-28 19:52:13 1190 3

原创 python环境依赖安装指北——报错记录(持续更新中~)

参考链接:https://zhuanlan.zhihu.com/p/687462277省流:推荐使用pipreqs库,可以只导出项目用到的库。

2024-04-01 16:26:22 247 1

原创 Nodejs版本升级科普

本文来自于chatGPT3.5的一次提问。

2023-06-08 11:20:24 14306 1

原创 Nodejs中使用代理访问

Nodejs中request库和axios库使用代理的方法

2022-09-02 15:37:33 1893

原创 mitmproxy 解决CORS

总的来说,就是把原本的修改Fiddler Script的解决方法变形为mitm版,其原理基本一致

2022-06-15 11:32:00 303

原创 【python】如何动态获取某个文件的绝对路径?

导读获取文件路径的方法诸如os.getcwd()/os.path.abspath(path),此类方法都是基于当前程序的启动目录来确定路径的因此,当需要通过相对路径获取非当前目录下的文件时,就会出现类似No such file or directory的错误开搞首先要确定要访问的文件的相对路径,比方说我们有如下结构想要在main.py程序中获取到target.txt文件,可以通过以下代码os.path.join(os.getcwd().split("project")[0], "project

2022-04-20 10:38:40 979

原创 爬虫心得——关于我踩坑并在坑里摸爬滚打的二三事

cookie不会凭空出现,也不会凭空消失如果你在某个请求池里发现一个突然出现的cookie:要么是一个未被发现的接口,要么是某个js在生成cookie

2022-02-13 20:28:44 143

原创 Selenium如何托管已打开的Chrome

1>首先在代码种声明driver的地方加上:chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")并且不能有以下代码# 设置开发者模式启动,该模式下webdriver属性为正常值chrome_options.add_experimental_option("excludeSwitches", ["enable-automation"])# 关闭selenium对chrome driver的自动控

2021-04-23 09:51:46 1351

原创 爬取Freelancer上的“私活儿”信息

本文仅用于学习交流,请勿用于商业用途,或恶意破坏,未经允许请勿转载前戏首先你需要 注册一个Freelancer 的账户接下来准备好Chrome浏览器和IDE,咱们开搞!快速开始在你的电脑上安装谷歌浏览器并下载一个对应版本的chromedriver,将其解压到一个你喜欢的地方(你可以在代码中找到DRIVER_PATH变量设置chromedriver路径)然后保存代码到一个py文件(代码见本文末)在代码中设置用户名(USERNAME)、密码(PASSWORD)、chromedriver路径.

2021-03-05 09:56:58 335 1

原创 使用递归深层修改dict

class Test: def modify_dict(self, source, setting): """递归修改dict""" for key, val in setting.items(): if isinstance(val, dict): self.modify_dict(source[key], val) else: source[key] =

2021-01-25 11:16:07 402

原创 Xpath如何选择标签同级的文本

使用标签中的文本来选取元素,是xpath中屡试不爽的技巧,通过我们处理的这种标签的内层都会包含文字,举个例子:<div>CSDN</div>可以用//div[contains(string(), "CSDN")]或者//div[contains(text(), "CSDN")]来选取。但如果遇到形似<input>这类没有结束标签的时候,上面的方法就不适用了,例如以下:<div> <span>请选择语言:</span> <

2021-01-09 15:02:04 1530 2

原创 python+selenium 自动导入jQuery环境,解决网站没有jQuery环境的问题

有时我们会需要在selenium中执行jQuery语句,但并不是所有的网站都支持jQuery,如果没有jQuery环境的问题,执行代码时就会报错JavascriptException使用以下代码即可解决该问题 def import_jquery(self): """ 通过执行jquery语句来判断当前网站是否具有jquery环境 """ try: # 执行一段jquery测试代码 self.driver..

2021-01-05 20:30:51 890

原创 python+selenium实现网页全屏截图

python+selenium实现网页全屏截图前言实现方法采用 Pillow+Selenium,基本原理为:截取多张不同位置的页面,拼接成一个图片已知情报:Chrome()只能截取当前屏幕展示出的网页,本篇文章是针对webdriver.Chrome()的全屏幕截取解决方法开始写代码之前我们必须要明确我们的最终目的,即截取到整个网页。根据这个需求,分解出多个问题点:如何网页截屏?什么样的网页有完整截取的需求?如何截取到全部的网页?如何拼接截取到的部分网页截图?带着上面的问题让我们开始吧!

2020-12-24 16:46:36 5744 1

原创 【Tornado框架】创建基本页面

基本页面这一节将会讲到关于模板和静态文件的使用与配置模板和静态文件配置我们习惯将html文件放入templates文件夹,将css, js以及图片等放入static文件夹,接下来我们讲讲它们配置方法在你创建好templates和static文件夹后,在tornado实例化app的那一步配置路径def make_app(): return tornado.web.Application( [ (r'/login/', LoginHandler),

2020-09-05 15:24:29 367

原创 【Tornado框架】如何搭建tornado服务

web服务开发入门安装tornado使用pip install tornado即可快速安装本文中使用的版本为 tornado 5.0搭建tornado服务搭建一个tornado分为以下三个步骤# file: apps.pyimport tornado.webimport tornado.httpserverimport tornado.ioloop# 1. 声明tornado app 实例app = tornado.web.Application()# 2. 创建 torna

2020-08-30 22:59:32 1137

原创 【Tornado框架】什么是非阻塞式服务器?

什么是tornado?Tornado是一种 Web 服务器软件的开源版本。Tornado 和主流Web 服务器框架(包括大多数 Python的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web服务的一个 理想框架。——百度百科关键词:非阻塞式服务器、速度快、epoll,为便于理解,接下来对这几点进行展开解释非阻塞式服务器阻塞式服务器要理解非阻塞式服务器,首先我

2020-08-30 17:14:21 761

原创 收纳一些学习nltk过程中遇到的问题

收纳一些学习nltk过程中遇到的问题python3使用nltk.download()时出错的解决办法 / 离线安装nltk_data

2020-08-17 16:13:44 122

转载 如何提高爬虫工作效率?

对于大规模爬虫来说,效率是最核心的问题,没有效率,就没有意义。没有哪个公司或者个人愿意等一个月或者几个月才能爬取几十万上百万的页面。所以,对于大规模爬虫来说,优化流程、提升效率是十分重要的。一、尽量减少访问次数。单次爬虫任务的主要耗时在于网络请求等待响应,所以能减少网络请求就尽量减少请求,既能减少目标网站的压力,也能减少代理服务器的压力,同时还能减少自己的工作量,提高工作效率。二、精简流程,减少重复。大部分网站并不是严格意义上互不交叉的树状结构,而是多重交叉的网状结构,所以从多个入口深入的网页会有很

2020-05-14 18:15:58 1014

原创 搭建一个弹幕新闻网站

本项目仅供学习使用, 请勿用来进行商业用途本期知识点:使用JS制作弹幕的方法使用分组定位来实现弹幕不重叠使用flask构建网站爬虫: 百度新闻, B站榜单, 知乎热榜前言你是否在 刷B站 或 刷知乎 时觉得不够畅? 是否想在一个平台上同时获取多个平台的有趣内容?这个网站将为你打开一扇快速通道先来看效果弹幕可分类显示, 也可以全部显示(可自己添加更多网站, 接口的...

2020-05-04 20:04:46 2165

原创 Python爬虫攻略(4)>有道翻译爬虫

参考网址:https://tendcode.com/article/youdao-spider/https://my.oschina.net/u/4004713/blog/3067132创作灵感来源于上面两篇文章, 本文是在上述文章的基础上做的更新如果你看过上面的文章, 说明咱们是同道中人, 如果没有强烈推荐花10分钟时间去看一下, 原文对初学者受益匪浅以下为代码, 关键地方添加了注...

2019-12-21 20:33:14 357

原创 Python 导出导入安装包

python导出安装包pip freeze > requirements.txtpython导入安装包pip install -r requirements.txt

2019-11-21 16:45:53 957

原创 Python爬虫攻略(3)>链家网爬虫 Selenium+Requests多线程

申明:本文对爬取的数据仅做学习使用,请勿使用爬取的数据做任何商业活动,侵删这篇文章是对这一篇文章中代码的优化: Python爬虫攻略(2)>Selenium+多线程爬取链家网二手房信息先上代码:更多的信息在代码注释中#!/usr/bin/env python#-*- coding: utf-8 -*-# author: hao 2019/11/9-17:40import j...

2019-11-17 20:48:08 673

原创 Python爬虫攻略(2)>Selenium+多线程爬取链家网二手房信息

申明:本文对爬取的数据仅做学习使用,请勿使用爬取的数据做任何商业活动,侵删前戏安装Selenium:pip install selenium如果下载速度较慢, 推荐使用国内源:pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple本次爬虫将会用到Selenium爬虫的基本用法总结ThreadPoolExe...

2019-11-13 23:26:25 2524

原创 爬虫进阶知识>解析网站中的JavaScript

js解析引言在了解如何调试js之前, 需要简单了解一下http的请求过程1.DNS域名解析;2.建立TCP连接;3.发送HTTP请求;4.服务器处理请求;5.返回响应结果;6.关闭TCP连接;7.浏览器解析HTML;8.浏览器布局渲染;上面8个步骤被戏称为"天龙八步"参考链接: https://zhuanlan.zhihu.com/p/32370763简单说一下我自己...

2019-11-07 19:36:31 5812

原创 浅析数据加密

浅析数据加密什么是加密?加密的目的:对数据的一种保护措施;核心是密码学加密的类型:常见的加密分以下三种类型:单项加密 --> md5, base64对称加密 --> DES, AES非对称加密 --> RSA加密过程:明文的文件或数据按照某种(加密)算法进行处理,使其变为不可读的(密文)被加密的数据对象必须是二进制类型, 我们可以使用encode()和...

2019-10-30 23:00:24 449

原创 爬虫框架pyspider - 快速上手

爬虫框架pyspider - 快速上手pyspider是国人开发的一款灵活便捷的爬虫框架, 相较于Scrapy框架来说, pyspider更适合被用于中小规模的爬取工作了解更多: 爬虫框架pyspider个人总结(详细)熟悉安装说明pyspider使用命令安装: pip install pyspider使用 Ubuntu 安装时需要先装依赖包(升级pip后执行命令)sudo apt...

2019-10-30 22:59:08 5273 1

原创 Python爬虫攻略(1)>使用Requests获取LOL游戏攻略

Python爬虫教程>1 使用Requests获取LOL游戏攻略前戏如果你想先了解一下什么是爬虫, 建议看一下这篇文章:学习爬虫前你需要知道这些英雄联盟官方攻略站, 我们的目标是这些带有教学标签的文章[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2Lv2rqw-1572190523013)()]页面分析这里大多是类似新闻的时效性文章, 因此推断 ...

2019-10-27 23:36:09 625

转载 【转】优化代码中大量的if/else,你有什么方案?

转载自知乎作者XNan的回答,原问题:优化代码中大量的if/else,你有什么方案?,如有侵权,请联系我删掉遇到大量if记住下面的口诀:互斥条件表驱动嵌套条件校验链短路条件早return零散条件可组合互斥条件,表示几个条件之间是冲突的,不可能同时达成的。比如说一个数字,它不可能同时是4和2。在这种情况下用表驱动就非常合适,表驱动的核心是key-handler,拿某个key去对...

2019-10-22 11:08:36 531

原创 [爬虫基础] 学习爬虫前你需要知道这些

爬虫简介什么是爬虫?爬虫的原理就是模拟用户访问服务端爬虫的概念网络爬虫也叫网络蜘蛛,它特指一类批量下载网络资源的程序,这是一个比较口语化的定义。更加专业和全面对的定义是:网络爬虫是伪装成客户端(Client),与服务端(Server)进行数据交互的程序。使用爬虫时有一个robots协议,在爬取某个网站时要尽量遵循该协议,查看协议的方法,例如百度:https://www.baidu....

2019-10-20 15:35:50 400

原创 [django项目] 使用自定义通用视图

使用自定义通用视图我们编写好了自定义通用视图, 它大大简化了创建一个新视图的方式, 接下来我们来使用它创建我们其他的菜单一、新闻标签管理功能1. 新闻标签列表1.1 视图class TagListView(MyPermissionRequiredMixin, MyListView): permission_required = ('myadmin.news_tag_list',)...

2019-10-13 14:21:33 479

原创 [django项目] 为后台网站编写自定义通用视图

自定义通用视图web后端开发的工作就是对数据的增删改查, 回顾前面的各种功能的代码,会发现有很多的代码冗余。我们一直在做重复的事情。django框架的一个强大的功能就是提供了一个即插即用的管理后台,django-admin。我不会教大家去开发一个django-admin,这对于现阶段的大家来说太过复杂和庞大。先学会一点点的优化,不要尝试一步到位。我们的目的是复用代码, 将相同的视图写成即插即...

2019-10-03 14:46:26 658

原创 [django项目] 新闻管理功能

新闻管理功能和前面的相似, 所谓管理其实就是新闻的增删改查I. 业务功能分析新闻的增删改查, 我们的新闻页面将具有这些功能新闻列表查询新增修改II. 新闻列表1>业务流程分析接收参数校验参数查询数据分页2>接口设计2.1>接口说明:类目说明请求方法GETurl定义/admin/newses/参数格式查询...

2019-09-10 20:06:28 1323

原创 [django项目] 后台权限分组管理

权限分组管理将多种权限合并到一个组中, 分配时即可一次性分配多种权限, 例如, 售后具有某几种权限, 当有成员被配置为他时就会拥有着几种权限I. 权限分组列表首先咱们来实现权限分组列表, 目的是展示所有的权限组, 同样需要添加一些权限组1>接口设计接口说明类目说明请求方法GETurl定义/admin/groups/参数格式无参数...

2019-09-08 21:02:26 1833

原创 [django项目] 后台用户管理功能

用户管理功能用户管理功能也是我们在OA系统中最常见的, 它可以让管理员具有: 查询,修改,删除用户的能力, 那么本次我们就来实现后台功能上的用户管理功能I. 业务功能分析用户管理就是对用户的增删改查, 由于我们已经有了注册功能, 所以增加用户就不需要额外写出来了, 新增管理员可以直接使用命令增加可以把更多的专注点放在其他功能(删改查)的实现上功能分析:用户列表, 展示用户的个人信息,...

2019-09-08 21:00:05 2564

原创 如何实现checkbox的第三种状态?

问题:如何实现途中这种复选框的[-]状态?解答:这种状态叫做indeterminate(不确定的), 它属于checkbox的三种状态之一.要实现这种状态, 请参考如下代码:$('checkbox').prop('indeterminate', true) // 添加属性$('checkbox').prop('indeterminate', false) // 移除属性参考文档:...

2019-09-08 12:33:16 713

原创 [django项目] 后台菜单管理功能

后台菜单管理功能菜单的管理功能其实就是, 对菜单的增删改查I. 业务功能分析1>业务需求分析后台首页菜单根据用户权限动态生成,不同菜单对应不同的功能视图。菜单的增删改查。2>功能分析菜单列表添加菜单修改菜单删除菜单3>模型设计3.1>字段分析name, 菜单名url, 菜单的路由parent, 父菜单的idorder, 排序permi...

2019-09-04 07:58:49 8874

原创 [django项目] 给网站添加后台管理系统

后台站点首页功能本次我们来完成针对前端各个模块的管理, 也就是我们的后台管理站点所谓后台, 其功能无非就是:增删改查, 首先我们需要完成一个大体的框架, 然后再慢慢填充各部分功能, 就如同我们对前台做得一样I. 后台模板抽取1>获取静态站点模板本项目选择开源的后台模板AdminLTE,github地址,直接下载zip压缩文件即可。源文件非常大,用到了上百个插件,按需索取即可。下...

2019-08-30 17:45:01 2919

原创 [django项目] 如何在网站上实现在线视频功能?

在线视频I. 功能需求分析1>分析在线直播,或点播设计到视频的存储,转码,加密,播放很多细节,个人单独开发不现实。本项目的在线课堂选择在线播放视频的形式。实际项目中一般选择云点播或者内嵌视频网站的方式进行。本项目选择是用百度云VOD点播来实现。2>功能视频展示页面视频播放详情II. 模型设计1>表字段分析老师表姓名职称简介头像课程分类表...

2019-08-30 11:43:31 9001

原创 [django项目] 如何在网站上实现文档下载功能?

文档下载功能I. 功能需求分析1>功能文档下载展示页,展示整体的网页框架文档列表,展示可下载的文档,包括标题、封面、简介等文档下载,点击下载

2019-08-25 21:33:21 773

原创 [django项目] 新闻页功能模块复盘+总结

新闻页功能模块复盘+总结前言完成了新闻首页与新闻详情页功能后,对主要功能做一些整理,主要目的是梳理首页架构,包括模型表/主要功能模块等,其次是分析实现的思路。学而不思则罔,思而不学则殆 --《论语》I. 功能设计分析废话不多说直接上思维导图II. 代码逻辑整理1>新闻首页除了更多文章模块需要额外的动态加载之外,其他首页上的模块都是在访问新闻首页时就开始加载的1...

2019-08-25 21:29:32 729

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除