首先,需要获取任意知乎的问题,只需要你输入问题的ID,就可以获取相关的页面信息,比如最重要的合计有多少人回答问题。问题ID为如下标红数字编写代码,下面的代码用来检测用户输入的是否是正确的ID,并且通过拼接URL去获取该问题下面合计有多少答案。importrequestsimportreimportpymongoimporttimeDATABASE_IP='127.0.0.1'DATABASE_PORT=27017DATABASE_NAME='sun'cli
系统 2019-09-27 17:54:17 2189
一、Python基础1.1基本语法行与缩进:python最具特色的就是使用缩进来表示代码块,不需要使用大括号{}。多行语句:Python通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句,在[],{},或()中的多行语句,不需要使用反斜杠(\)。数字类型:整数int、布尔型bool(true)、浮点数float和复数complex(1+2j、1.1+2.2j)。字符串:引号和双引号使用完全相同,使用三引号(’’'或""")可以指定
系统 2019-09-27 17:53:35 2189
我们直接用Requests、Selenium等库写爬虫,如果爬取量不是太大,速度要求不高,是完全可以满足需求的。但是写多了会发现其内部许多代码和组件是可以复用的,如果我们把这些组件抽离出来,将各个功能模块化,就慢慢会形成一个框架雏形,久而久之,爬虫框架就诞生了。利用框架我们可以不用再去关心某些功能的具体实现,只需要去关心爬取逻辑即可。有了它们,可以大大简化代码量,而且架构也会变得清晰,爬取效率也会高许多。所以如果对爬虫有一定基础,上手框架是一种好的选择。本
系统 2019-09-27 17:53:32 2189
阅读更多操作列表#列表循环for循环(for**in**)1.注意使用for循环时print前要缩进cats=["alice","clear","dell",'moon']forcatincats:print(cat)#可在for循环中执行更多操作#2.不使用for循环时,切记print能缩进cats=["alice","clear","dell",'moon']forcatincats:print(cat)print("theyaresocute")#在
系统 2019-09-27 17:51:31 2189
之前遇到一个场景是这样的:我在自己的电脑上需要用mongodb图形客户端,但是mongodb的服务器地址没有对外网开放,只能通过先登录主机A,然后再从A连接mongodb服务器B。本来想通过ssh端口转发的,但是我没有从机器A连接ssh到B的权限。于是就自己用python写一个。原理很简单。1.开一个socketserver监听连接请求2.每接受一个客户端的连接请求,就往要转发的地址建一条连接请求。即client->proxy->forward。proxy
系统 2019-09-27 17:50:32 2189
Image模块Image模块是在PythonPIL图像处理中常见的模块,对图像进行基础操作的功能基本都包含于此模块内。如open、save、conver、show…等功能。open类Image.open(file)⇒imageImage.open(file,mode)⇒image要从文件加载图像,使用open()函数,在Image模块:@zhangzijufromPILimportImage##调用库im=Image.open("E:\mywife.jpg
系统 2019-09-27 17:50:26 2189
本文从参考了网络上的许多内容,主要为分布式进程及其的评论内容。所谓分布式运算,既可以指在同一台机器上利用多进程(线程)进行运算,又可以指将计算任务进行分解,利用多台机器进行运算。本文中的分布式单指最后一种。python的标准库multiprocessing中存在一个managers的子模块,该模块支持将多进程分布到多台机器上。选择一个进程来调度任务,其他进程进行计算,从而实现分布式运算。而调度进程和计算进程之间的通信,是通过网络来进行的,用到了python
系统 2019-09-27 17:49:22 2189
0x01OpCodeopcode又称为操作码,是将python源代码进行编译之后的结果,python虚拟机无法直接执行human-readable的源代码,因此python编译器第一步先将源代码进行编译,以此得到opcode。例如在执行python程序时一般会先生成一个pyc文件,pyc文件就是编译后的结果,其中含有opcode序列。如何查看一个函数的OpCode?defa():if1==2:print("flag{****}")print"Opcodeo
系统 2019-09-27 17:48:42 2189
使用socket实现tcp通信,需导入socket模块1、服务端主要步骤:(1)创建socket:socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None)family:AF_INET,AF_INET6,AF_UNIX,AF_CAN,AF_PACKET,AF_RDStype:SOCK_STREAM,SOCK_DGRAM,SOCK_RAW,或者其他SOCK_*proto:一般使用默认值
系统 2019-09-27 17:48:40 2189
方法abs()返回x的绝对值,-x-零之间的(正极)的距离。语法以下是abs()方法的语法:abs(x)参数x--这是一个数值表达式返回值此方法返回x的绝对值。例子下面的例子显示abs()方法的使用。#!/usr/bin/pythonprint"abs(-45):",abs(-45)print"abs(100.12):",abs(100.12)print"abs(119L):",abs(119L)当我们运行上面的程序,它会产生以下结果:abs(-45):4
系统 2019-09-27 17:46:57 2189