上一期博客,我本来想爬取美团美食的,但是由于请求头太复杂,没有破解开其中的几个参数,所以放弃,这次我们来用selenium来模式浏览器抓取数据,我们先来简单看一下流程:1,利用selenium驱动浏览器,得到美食列表2,分析网页,并给予翻页后续的美食列表3,分析提取数据(pyQuery)项目一:美团美食项目地址:https://gitee.com/dwyui/pyQuery_selenium.git由于美团反扒严重,只爬取到部分数据,可以尝试修改间隔时间来
系统 2019-09-27 17:45:51 2585
变量是计算机内存中的一块区域,变量可以存储规定范围内的值,而且值可以改变。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。常量是一块只读的内存区域,常量一旦被初始化就不能被改变。变量命名字母、数字、下划线组成,不能以数字开头,前文有说不在赘述。变量赋值Python中的变量不需要声明,变量的赋值操作即是变量的声明和定义的过程。每个变量在内存中创建都包括变量的标识、名称、和数据这些信息。Python中一次新的赋值,将创建一个新的变量
系统 2019-09-27 17:38:32 2585
centos安装python3与python2共存网上的教程一搜很多,质量参差不齐,好多都是直接转发的,自己都没试试(导致一个错误的方法传的到处都是,无力吐槽),这里我给出一个我自己安装成功的例子。系统是centos6.8,python是3.6.5。1、安装依赖环境yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm
系统 2019-09-27 17:55:40 2584
在python中,实现循环写入的功能:txt_file=open("D:/文本文档.txt","a",encoding="utf-8")#将w换成a案例:fortempinimage_name:txt_file=open("D:/文本文档.txt","a",encoding="utf-8")#以写的格式打开先打开文件iftemp.endswith(".jpg"):txt_file.write(temp.replace('.jpg',''))txt_file
系统 2019-09-27 17:55:05 2584
多线程原理:TCP服务器会创建一个线程池,每当有客户端请求连接的时候,它便会从线程池中分配一个线程同客户端建立连接,当客户端中断连接后,线程便销毁。SocketServer是标准库中一个高级别的模块。用于简化网络客户与服务器的实现。socketserver模块中分两大类:server类(解决连接问题)和request类(解决通信问题)我们将服务器做为中转站来处理信息,一方面与客户端互动,另一方面进行消息转发。大体思路确定下来后,需要确定一些通信规则:1.客
系统 2019-09-27 17:52:19 2584
目录Python3爬虫模拟新浪微博登录过程分析遇到的坑关于第一步,账号和密码加密登录请求post数据包装关于登录后如跳转到主页面其他模块执行结果Python3爬虫模拟新浪微博登录初学Python3小白一枚,若有错误请不吝赐教过程分析整个过程从填写数据到跳转到主页一共经历了七个步骤:1.在登陆前,输入账号结束,失去输入框焦点,浏览器会发送两个请求,分别请求了登陆前加密密码所需的servertime、nonce、pubkey(图中对应3)2.第二个ajax请求
系统 2019-09-27 17:51:23 2584
base64数据加密,是一种可逆的编码格式,生成的编码是ascii格式的数据,通过encode加密,decode解密。原理:1、将所有字符转化为ASCII码。2、将ASCII码转化为8位二进制。3、将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位。4、统一在6位二进制前补两个0凑足8位。5、将补0后的二进制转为十进制。6、从Base64编码表获取十进制对应的Base64编码。importbase64classEncodeDecod
系统 2019-09-27 17:50:29 2584
f-string格式化的字符串,是字符串格式化的一种,而且是最新的一种。这里收集的是它的一些基本用法。没有限定宽度的写法:f"xxxx{替换字段}xxx";可以有多个替换字段。对于数字,字符串转换时可以使用限定宽度。f"xxx{转换字段:限定符号}xxx"。可以有多个替换字段。使用和注意事项收集:转换字段不能为空(不能是空的表达式);1)如果写了一个空的字段,有些编辑器会有红线提示。例如pycharm。2)空,不是指的空数据类型;例如可以是空字符串,空列表
系统 2019-09-27 17:49:09 2584
由于一些原因,视频录制要告一段落了。再写一篇关于cntk的文章分享出来吧。我也很想将这个事情进行下去。以后如果条件允许还会接着做。cntk2.0框架生成的模型才可以支持python。1.0不支持。python可以导入cntk.exe生成的框架,也可以导入python调用cntk生成的框架。举两个例子:1、导入cntk.exe生成的框架。fromcntk.ops.functionsimportload_modelfromPILimportImageimpor
系统 2019-09-27 17:47:59 2584
描述atan2()返回给定的X及Y坐标值的反正切值。语法以下是atan2()方法的语法:importmathmath.atan2(y,x)注意:atan2()是不能直接访问的,需要导入math模块,然后通过math静态对象调用该方法。参数x--一个数值。y--一个数值。返回值返回给定的X及Y坐标值的反正切值。实例以下展示了使用atan2()方法的实例:#!/usr/bin/pythonimportmathprint"atan2(-0.50,-0.50):"
系统 2019-09-27 17:38:02 2584
关于python性能提升的一些方案。一、函数调用优化(空间跨度,避免访问内存)程序的优化核心点在于尽量减少操作跨度,包括代码执行时间上的跨度以及内存中空间跨度。1.大数据求和,使用suma=range(100000)%timeit-n10sum(a)10loops,bestof3:3.15msperloop%%timeit...:s=0...:foriina:...:s+=i...:100loops,bestof3:6.93msperloop2.小数据求和
系统 2019-09-27 17:37:58 2584
前言在使用PC时与PC交互的主要途径是看屏幕显示、听声音,点击鼠标和敲键盘等等。在自动化办公的趋势下,繁琐的工作可以让程序自动完成。比如自动化测试、自动下单交易等。很多软件除了可以GUI方式操作外还可以用CLI接口操作,不过当一些软件未提供CLI接口时,我们应该怎么办呢?我们还可以用程序控制桌面上的窗口、模拟点击鼠标或按下键盘等动作来释放自己。pywin32是一个Python库,它为Python提供访问WindowsAPI的扩展,提供了齐全的windows
系统 2019-09-27 17:55:05 2583
·迭代器什么是迭代器:迭代器可以让我们访问集合的时候变得非常方便。之前我们通过for…in…来访问一个集合的时候,就是使用迭代器完成的。如果没有迭代器,那么我们只能通过while循环,每次循环的时候通过下标来访问了。可迭代对象:可以直接使用for循环遍历的对象,成为可迭代的对象,常见的可迭代对象有:list、tuple、dict、set、str以及生成器更加专业的判断一个对象是否是可迭代对象:这个对象有一个__iter__方法,并且这个方法会返回一个迭代器
系统 2019-09-27 17:54:21 2583
#-*-coding:utf-8-*-importtimefrompywifiimportconst,PyWiFi,ProfileclassWiFi(object):#创建对象自动初始化,类似Java的构造函数def__init__(self):wifi=PyWiFi()#创建一个无线对象self.iface=wifi.interfaces()[0]#获取当前机器第一个无线网卡#查看wifi的连接状态defwifi_connect_status(self)
系统 2019-09-27 17:52:52 2583
最常见的一种形式是的是为一个或者多个参数指定默认值,这会创建一个可以使用比定义时允许的参数更少的参数调用的函数,defask_ok(prompt,retries=4,reminder='Pleasetryagain!'):whileTrue:ok=input(prompt)ifokin('y','ye','yes'):returnTrueifokin('n','no','nop','nope'):returnFalseretries=retries-1if
系统 2019-09-27 17:52:19 2583