
Python
文章平均质量分 89
ydw_ydw
这个作者很懒,什么都没留下…
展开
-
Python之线程代替方案 - 多进程
线程代替方案subprocess 完全跳过线程,使用进程 是派生进行的主要替代方案 python2.4后进入 multiprocessiong 使用thronging接口派生,使用子进程 允许为多核或者多cpu派生进程,接口跟threading非常相似 python2.6 concurrent.futures 新的异步执行模块 任务级别的操作 p...原创 2018-08-18 19:32:14 · 521 阅读 · 0 评论 -
Python之爬虫--ProxyHandler(代理服务器)
根据上一篇博文User Agent已经设置好了,但是还应该考虑一个问题,程序的运行速度是很快的,如果我们利用一个爬虫程序在网站爬取东西,一个固定IP的访问频率就会很高,这不符合人为操作的标准,因为人操作不可能在几ms内,进行如此频繁的访问。所以一些网站会设置一个IP访问频率的阈值,如果一个IP访问频率超过这个阈值,说明这个不是人在访问,而是一个爬虫程序。 一个很简单的解决办...原创 2018-08-23 19:46:48 · 1745 阅读 · 0 评论 -
Python之爬虫-- 页面解析和数据提取
目录页面解析和数据提取Beautiful Soup 4.2.0 文档一、简介 二、bs4的使用 1、导入模块 2、获取节点 3、寻找节点页面解析和数据提取一般来讲对我们而言,需要抓取的是某个网站或者某个应用的内容,提取有用的价值。内容一般分为两部分,非结构化的数据和 结构化的数据。非结构化数据:先有数据,...原创 2018-08-28 22:54:05 · 834 阅读 · 0 评论 -
Python之爬虫-- cookie & session
目录cookie & sessioncookie和session的区别session的存放位置使用cookie登录利用cookiejar访问人人, 案例3cookie的保存-FileCookieJar, 案例5cookie的读取, 案例6 案例1: 案例2: 案例3: 案例4: 案例5: 案例6: 为什么要使用Cookie ...原创 2018-08-24 16:19:52 · 787 阅读 · 0 评论 -
Python之爬虫-- SSL
SSL SSL证书就是指遵守SSL安全套阶层协议的服务器数字证书(SercureSocketLayer) 美国网景公司开发 CA(CertifacateAuthority)是数字证书认证中心,是发放,管理,废除数字证书的收信人的第三方机构 遇到不信任的SSL证书,(如 https://www.12306.cn , 360),需要单独处理 案例1 from urllib im...原创 2018-08-24 16:35:11 · 608 阅读 · 0 评论 -
Python之网络编程 UDP/TCP/ FTP
网络编程网络: 网络协议:一套规则 网络模型: 七层模型 物理层:网线,水晶头等 数据链路层: 网络层 传输层 会话层 表示层 应用层 四层模型- 时间应用 链路层 网络 传输层 应用层 每一层都有相应的协议负责交换信息或者协同工作 TCP/IP协议族 IP地址:负责在网路上唯一定位一个机器 ...原创 2018-08-21 17:10:32 · 233 阅读 · 0 评论 -
Python之Mail编程(电子邮件编程)
电子邮件的历史起源1969 Leonard K. 教授发给同时的 “LO” 1971 美国国防部自主的阿帕网(Arpanet)的通讯机制 通讯地址里用@, 1987年中国的第一份电子邮件 “Across the Great Wall we can reach every corner in the world"管理程序Euroda使邮件普及 Netscape,outlook...原创 2018-08-21 21:07:28 · 12345 阅读 · 0 评论 -
Python之正则表达式
w3cschool教程:https://www.w3cschool.cn/zhengzebiaodashi/regexp-tutorial.html新w3cschool教程:http://www.hechaku.com/p/zhengze/菜鸟教程:http://www.runoob.com/python/python-reg-expressions.html正则表达式一套规则,可...原创 2018-08-29 12:53:47 · 276 阅读 · 0 评论 -
Python之爬虫-- XML与XPath
XMLXML(EXtensibleMarkupLanguage) 学习文档: http://www.w3school.com.cn/xml/index.asp 案例1 概念:父节点,子节点,先辈节点,兄弟节点,后代节点案例1: <?xml version="1.0" encoding="utf-8"?><bookstore> <b...原创 2018-08-29 17:53:00 · 4256 阅读 · 0 评论 -
Python之爬虫-- etree和XPath实战
下面代码是在网站上找到的一个例子,空闲的时候可以自己调试。 # -*- coding:utf-8 -*-""" 爬虫 创业邦 创业公司信息爬取网页url = 'http://www.cyzone.cn/vcompany/list-0-0-1-0-0/0'爬取页面中的创业公司,融资阶段,创业领域,成立时间和创业公司的链接信息。使用到requests, json, codecs, lxm...转载 2018-08-29 17:54:58 · 3854 阅读 · 0 评论 -
安装Python之后pip 和pip3的区别
安装了python3之后,库里面既会有pip3也会有pip 使用pip install XXX 新安装的库会放在这个目录下面 python2.7/site-packages 使用pip3 install XXX 新安装的库会放在这个目录下面 python3.6/site-packages 如果使用python3执行程序,那么就不能import python2....翻译 2018-08-25 11:46:15 · 9399 阅读 · 0 评论 -
Python之爬虫-- cookie & session(二)
这一片是继 《Python之爬虫-- cookie & session》这一篇之后在网上找到的一篇小练习,也是对cookie有更深的认识一、为什么要使用Cookie Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。 比如说有些网站需要登录后才能访问某个页面,在登录之前,你想抓取某个页面内容,登陆前与登陆后...转载 2018-08-25 16:38:00 · 741 阅读 · 0 评论 -
如何在已安装Python条件下,安装Anaconda,,并将原有Python添加到Anaconda中
在安装Anaconda之前,有的已经安装过一个Python版本了,但是又不想删除这个Python版本,该怎么办呢?概括:轻松两步--在系统环境变量中找到对应之前安装Python的路径并删除;直接将你原来安装python的整个文件夹拷贝到envs的目录下,激活该版本python的名称就是文件夹名。我的电脑里面本来安装了Python2.7的版本,并且配置好了Django,用来做网页设计。后来我...原创 2018-08-29 21:24:11 · 1191 阅读 · 0 评论 -
Python-- CSS 选择器:BeautifulSoup4
目录CSS 选择器:BeautifulSoup4 示例:一、四大对象种类1. Tag2. NavigableString3. BeautifulSoup4. Comment二、遍历文档树1. 直接子节点 :.contents .children 属性2. 所有子孙节点: .descendants 属性3. 节点内容: .string 属性三、搜索文档...转载 2018-09-01 23:32:05 · 530 阅读 · 0 评论 -
Python-- scrapy-shell学习笔记
目录scrapy-shell1.启动2.response3.selector4.练习 (自己做的小练习,获取招聘网站的信息)scrapy-shell官方文档:https://scrapy-chs.readthedocs.io/zh_CN/latest/topics/shell.htmlScrapy终端是一个交互终端,我们可以在未启动spider的情况下尝试及调试代...原创 2018-09-04 23:03:46 · 209 阅读 · 0 评论 -
Python-- Selenium用法
目录基本框架详细用法如下:1:声明浏览器对象2:访问页面3:查找单个元素4:查找多个元素5:元素的交互操作6:交互动作7:执行javascript8:获取元素信息9:等待10:浏览器的前进和后退11:cookies的处理12:选项卡管理13:异常处理 selenium 是一个用于Web应用程序测试的工具。Selenium测...转载 2018-09-02 23:37:40 · 177 阅读 · 0 评论 -
Python-- Scrapy
scrapy爬虫框架中文学习文档:https://scrapy-chs.readthedocs.io/zh_CN/0.24/index.html 1、爬虫框架有哪些:scrapy pyspider crawley2、scrapy框架介绍https://doc.scrapy.org/en/latest/ https://scrapy-chs.readthedocs.io...原创 2018-09-04 16:04:12 · 1012 阅读 · 0 评论 -
Python-- Django系统
目录Django系统1、环境2、参考资料3、环境搭建3.1、版本选择3.2、 安装 Django4、检查是否安装成功5、搭建多个互不干扰的开发环境(可选)6、后台需要的流程7、创建第一个django程序8、pycharm 启动(需要配置 )8.1、配置运行的环境8.2、配置运行服务器Django系统1、环境python3.6 dja...翻译 2018-09-09 10:54:19 · 855 阅读 · 0 评论 -
Python之爬虫--UserAgent(用户代理)
有一些网站不喜欢被爬虫程序访问,所以会检测连接对象,如果是爬虫程序,也就是非人点击访问,它就会不让你继续访问,所以为了要让程序可以正常运行,需要隐藏自己的爬虫程序的身份。此时,我们就可以通过设置User Agent的来达到隐藏身份的目的,User Agent的中文名为用户代理,简称UA User Agent存放于Headers中,服务器就是通过查看Headers中的User Agent来判断是谁...原创 2018-08-23 18:31:11 · 1753 阅读 · 0 评论 -
Python之爬虫urllib(三)-urllib.error
目录urllib.error案例1 :案例2: urllib.error(用 request.openurl() 都应该放在 try 中) URLError产生的原因: 没网 服务器链接失败 找不到指定服务器 是OSError的子类 案例1 HTTPError, 是URLError的一个子类 案例2 两者区别: HTTPError是对应的...原创 2018-08-23 17:01:46 · 239 阅读 · 0 评论 -
Python-- lxml安装
无论是使用爬虫框架scrapy,还是简单的requests请求后解析。都不可避免的需要使用html解析库。当然正则是可以代替一部分搜索。由于正则语法的晦涩,及其其他场景下,html解析是必不可少的。网上推荐 lxml的比较多,优点:稳定,高效。 但是lxml的安装很难一次成功。直接成功就不要接着看了。pip install lxml 在windows系...原创 2018-08-30 21:33:44 · 54509 阅读 · 2 评论 -
python之多线程(一)
多线程 VS 多进程程序: 一堆代码以文本形式存入一个文档 进程: 程序运行的一个状态 包含地址空间,内存,数据债等 每一进程由自己完全独立的运行环境,多进程共享数据是一个问题 线程 一个进程的独立运行片段,一个进程可以由多个线程 轻量化的进程 一个进程的多个线程间共享数据和上下文运行环境 共享互斥问题 全局解释器锁(GIL) Python代码的执行是...原创 2018-08-19 11:39:42 · 217 阅读 · 0 评论 -
python之多线程(二)
共享变量- 概念: 当多个线程同时访问一个变量的时候,会产生共享变量的问题 # 不启用多线程,正常执行结果import threadingsum = 0loopSum = 100000def myAdd(): global sum, loopSum for i in range(1, loopSum): sum += 1def my...原创 2018-08-19 11:54:11 · 186 阅读 · 0 评论 -
python之协程(一)
协程迭代器 可迭代(Iterable): 直接作用于For循环的变量”, 迭代器():不但可以作用于for循环,还可以被next调用”, list是一个典型的可以迭代对象,但不是迭代器”, 通过isinstance判断”, iterable 和 iterator可以转换”, 通过 iter函数可以进行转换” # 可迭代,l = [i for i in range...原创 2018-08-19 12:03:00 · 169 阅读 · 0 评论 -
Python之爬虫-- js加密(破解有道词典加密的算法)
js加密有的反爬虫策略采用js对需要传输的数据进行加密处理(通常是取md5值) 经过加密,传输的就是密文,但是 加密函数或者过程一定是在浏览器完成,也就是一定会把代码(js代码)暴露给使用者 通过阅读加密算法,就可以模拟出加密过程,从而达到破解 过程参看案例1, 案例2 过程比较啰嗦,笔记比较少,仔细观察案例1: '''破解有道词典V1'''from urllib ...原创 2018-08-26 10:43:28 · 905 阅读 · 1 评论 -
Python之XML创建
xml.dom.minidom模块实现创建一个XML文档。创建XML的过程1、内存数据产生 2、产生xml内存对象(也就是DOM树) 3、产生根对象 4、往根对象里加数据 5、把xml内存对象写到文件 下面是一个创建xml文档的简单实例:import xml.dom.minidom#在内存中创建一个空的文档doc = xml.dom.minidom.Document(...原创 2018-08-19 21:41:26 · 1825 阅读 · 0 评论 -
Python之XML解析
什么是XML?XML 指可扩展标记语言(eXtensible Markup Language)。XML 被设计用来传输和存储数据。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。python对XML的解析常见的XML编程接口有DOM和SAX,这两种接口...转载 2018-08-19 22:19:04 · 142 阅读 · 0 评论 -
Python之爬虫准备工作
参考资料python网络数据采集, 图灵工业出版 精通Python爬虫框架Scrapy, 人民邮电出版社 [Python3网络爬虫](http://blog.youkuaiyun.com/c406495762/article/details/72858983) [Scrapy官方教程](http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutoria...原创 2018-08-22 19:42:51 · 407 阅读 · 0 评论 -
Python之爬虫urllib(一)
目录本节介绍的信息内容 包含模块网页编码问题解决urlopen 的返回对象(在例子中指的是rsp)包含模块urllib.request: 打开和读取urls urllib.error: 包含urllib.request产生的常见的错误,使用try捕捉 urllib.parse: 包含解析url的方法 urllib.robotparse: 解析robots.txt文件...原创 2018-08-22 22:23:44 · 286 阅读 · 0 评论 -
Python之爬虫-- Requests
目录Requests-献给人类一、简介二、安装方式三、 GET请求四、POST请求 五、显示json文件六、代理(proxies参数) 七、用户验证八、Cookies 和 Session1、Cookies2、Session九、SSL证书验证https请求验证ssl证书(有一些网站的ssl证书是自己写的,比如12306和360)Requests...原创 2018-08-27 11:21:47 · 242 阅读 · 0 评论 -
Python之日志处理----logging模块
本节内容日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日志输出中添加上下文信息 参考文档一、日志相关概念日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个...翻译 2018-08-17 18:41:45 · 166 阅读 · 0 评论 -
Python之配置日志的几种方式
作为开发者,我们可以通过以下3种方式来配置logging:1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数; 2)创建一个日志配置文件,然后使用fileConfig()函数来读取该文件的内容; 3)创建一个包含配置信息的dict,然后把它传递个dictConfig()函数;需要说明的是,logging.basicConfi...翻译 2018-08-17 18:52:07 · 178 阅读 · 0 评论 -
Python之向日志输出中添加上下文信息
除了传递给日志记录函数的参数(如msg)外,有时候我们还想在日志输出中包含一些额外的上下文信息。比如,在一个网络应用中,可能希望在日志中记录客户端的特定信息,如:远程客户端的IP地址和用户名。这里我们来介绍以下几种实现方式:通过向日志记录函数传递一个extra参数引入上下文信息 使用LoggerAdapters引入上下文信息 使用Filters引入上下文信息 一、通过向日志记录函数传递一...翻译 2018-08-17 18:58:44 · 257 阅读 · 0 评论 -
Python之爬虫urllib(二)-request.data
目录request.data 的使用案例1: 案例2: 案例3: request.data 的使用访问网络的两种方法 get: 利用参数给服务器传递信息, 参数为dict,然后用parse编码 案例1 post 一般向服务器传递参数使用 post是把信息自动加密处理 我们如果想使用psot信息,需要用到data参数 使用post,意味着Ht...原创 2018-08-23 12:32:42 · 1443 阅读 · 0 评论 -
Python-- lxml用法
目录lxml库(lxml安装可查看上一篇文章)Element类1、节点操作2、属性操作3、文本操作4、文件解析与输出5、ElementPath6、案例(尤其最后的一篇代码) lxml库(lxml安装可查看上一篇文章)python的HTML/XML的解析器 官方文档: http://lxml.de/index.html 功能: 解析HTML ...原创 2018-08-30 22:10:00 · 23426 阅读 · 3 评论 -
Python-- 学习Selenium之前的准备工作
1、Selenium之前的准备工作主要分为三部分第一部分:Selenium的学习网站第二部分:Selenium的资源整理,各种版本浏览器、driver、selenium的下载第三部分:Chrome与chromedriver的版本对照表2、学习网站 文档Selenium Python BindingsSelenium DocumentationWebDriver Livi...转载 2018-09-09 19:43:53 · 365 阅读 · 0 评论