综述本系列文档用于对Python爬虫技术的学习进行记录总结。Python版本是3.7.4urllib库介绍它是Python内置的HTTP请求库,也就是说我们不需要额外安装即可使用,它包含四个模块(主要对前三个模块进行学习):request:它是最基本的HTTP请求模块,我们可以用它来模拟发送一请求,就像在浏览器里输入网址然后敲击回车一样,只需要给库方法传入URL还有额外的参数,就可以模拟实现这个过程了。error:异常处理模块,如果出现请求错误,我们可以捕
系统 2019-09-27 17:54:27 1886
引言最近在刷面试题,所以需要看大量的Python相关的面试题,从大量的题目中总结了很多的知识,同时也对一些题目进行拓展了,但是在看了网上的大部分面试题不是很满意,一个是有些部分还是Python2的代码,另一个就是回答的很简单,有些关键的题目,也没有点出为什么,最重要的是还有一些复制粘贴根本就跑不通,这种相信大家深有体会吧,这样就导致我们可能需要去找其他人发的类似的教程。难受啊,所以我决定针对市面上大多的Python题目做一个分析,同时也希望大家尽可能的做到
系统 2019-09-27 17:54:17 1886
依赖包:pipinstallparamiko源码demo:fromtimeimport*importparamiko#定义一个类,表示一台远端linux主机classLinux(object):#通过IP,用户名,密码,超时时间初始化一个远程Linux主机def__init__(self,ip,username,password,timeout=30):self.ip=ipself.username=usernameself.password=passwo
系统 2019-09-27 17:53:55 1886
表数据超过百万级别时使用pandas读取数据速度过慢,如果仍然想用pandas读取,可以通过多进程提高效率。同时可以将常用数据保存为pkl文件,以便后续使用。@主要代码实现#按照表中的某字段将表划分为比较均匀的多个子集#本例中需要读取的表中包含了城市字段,#且涉及的城市包含了全国大部分城市,数据分布较为均匀,因此制作了一张省份城市配置表,将数据划分#读取省份-城市配置表,获取城市列表defget_division_list(db_connect,divis
系统 2019-09-27 17:53:46 1886
1.函数添加importsyssys.pathsys.path.append("c:\\")2.修改pythonpath(试不通)windows:PYTHONPATH3.增加.pth文件(可以)site-packages或者python安装目录添加xx.pth,文件内容为模块目录。linux(ubuntu)/usr/local/lib/python2.7/dist-packageslinux(redhat)/usr/lib/python2.7/site-p
系统 2019-09-27 17:53:45 1886
Python高级专用类方法的实例详解除了__getitem__和__setitem__之外Python还有更多的专用函数。某些可以让你模拟出你甚至可能不知道的功能。下面的例子将展示UserDict一些其他专用方法。def__repr__(self):returnrepr(self.data)(1)def__cmp__(self,dict):(2)ifisinstance(dict,UserDict):returncmp(self.data,dict.dat
系统 2019-09-27 17:53:44 1886
Scrapy是一个开源的Python数据抓取框架,速度快,强大,而且使用简单。来看一个官网主页上的简单并完整的爬虫:虽然只有10行左右的代码,但是它的确是一个完整的爬虫服务:当执行scrapyrunspiderxxx.py命令的时候,Scrapy在项目里查找Spider(蜘蛛️)并通过爬虫引擎来执行它。首先从定义在start_urls里的URL开始发起请求,然后通过parse()方法处理响应。response参数就是返回的响应对象。在parse()方法中,
系统 2019-09-27 17:53:38 1886
将做工程过程中重要的一些代码段收藏起来,下面代码段是关于python检测RabbitMQ的状态是否正常的代码。importsocketdefcheck_aliveness(ip,port):sk=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sk.settimeout(1)try:sk.connect((ip,port))print'serviceisOK!'returnTrueexceptExceptio
系统 2019-09-27 17:52:41 1886
原型模式,也是用于创建对象时的一种设计方法。主要应用场景是:每次初始化某个对象时,需要传递大量的参数,很不方便,此时,可以使用原型模式,在已经创建并初始化的对象基础上,可以快速而又方便创建新的不同对象。主要原理:使用深拷贝,复制一个已创建的对象,然后使用__dict__.update()方法更新已创建对象中的参数值方式创建新对象。背景知识:在python中的类中,__dict__是一个字典,保存了所有该类中的变量,函数等参数。#coding=utf-8im
系统 2019-09-27 17:52:15 1886
python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。withopen('file.txt','r')asold_file:withopen('file.txt','r+')asnew_file:current_line=0#定位到需要删除的行whilecurrent_line<(3-1):#(del_line-1)old_file.readline()current_line+=1#当前光标在被删除
系统 2019-09-27 17:51:18 1886