一、写在前面在上一篇博客中提到过对于网络爬虫这种包含大量网络请求的任务,是可以用Celery来做到加速爬取的,那么,这一篇博客就要具体说一下怎么用Celery来对我们的爬虫进行一个加速!二、知识补充1.classcelery.groupgroup这个类表示创建一组要并行执行的任务,不过一组任务是懒惰的,所以你需要运行并对其进行评估。要了解这个类,可以查看文档,或者在Pycharm中直接Ctrl+左键就能直接查看源码了,如下图:当然了,直接看源码还不够,最好
系统 2019-09-27 17:48:01 2146
========坚持30天刷leetcode=====题目链接:https://leetcode-cn.com/problems/next-permutation/结果:分析:思路是:1)从后往前找不符合降序(大->小,可以相等)的第一个元素a,2)然后从a的下一个元素开始往后找,找到最后一个大于a的元素b,3)交换a,b的位置,4)再将原先a位置后的所有元素,进行升序排序5)特殊情况①:数组全为降序,逆转数组;特殊情况②:找到a后,a比数组最后一个元素c
系统 2019-09-27 17:46:33 2146
利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456fromfunctoolsimportreducedefstr2float(s):returnreduce(lambdax,y:x+int2dec(y),map(str2int,s.split('.')))defchar2num(s):return{'0':0,'1':1,'2':2,'3':3,'4':4,'5':5,'6':6,'7':7,'8'
系统 2019-09-27 17:38:41 2146
自己写了用来压缩DC照片的,批量处理整目录文件,非常方便。需要安装PIL#!/usr/bin/envpythonimportImageimportosimportos.pathimportsyspath=sys.argv[1]small_path=(path[:-1]ifpath[-1]==/elsepath)+_smallifnotos.path.exists(small_path):os.mkdir(small_path)forroot,dirs,fi
系统 2019-08-29 22:21:26 2146
简要说明本文使用的系统为CentOS7以安装Python3.7为例,其他的3.x的话把文章中的和Python版本有关的部分稍微修改一下就好。yum源准备更新yum:sudoyum-yupdate(参数-y用于提醒系统我们知道我们正在进行更改,免去终端提示我们要确认再继续)安装yum-utils(一组扩展和补充yum的实用程序和插件):sudoyum-yinstallyum-utils安装CentOS开发工具(用于允许从源代码构建和编译软件):sudoyum
系统 2019-09-27 17:57:32 2145
前言最近在学习python爬虫方面的知识,网上有一博客专栏专门写爬虫方面的,看到用urllib请求有道翻译接口获取翻译结果。发现接口变化很大,用md5加了密,于是自己开始破解。加上网上的其他文章找源码方式并不是通用的,所有重新写一篇记录下。爬取条件要实现爬取的目标,首先要知道它的地址,请求参数,请求头,响应结果。进行抓包分析打开有道翻译的链接:http://fanyi.youdao.com/。然后在按f12点击Network项。这时候就来到了网络监听窗口,
系统 2019-09-27 17:57:02 2145
经常有需要扫描目录,对文件做批量处理的需求,所以对目录处理这块做了下学习和总结。Python中扫描目录有两种方法:os.listdir和os.walk。一、os.listdir方法os.listdir()方法用于返回指定的目录下包含的文件或子目录的名字的列表。这个列表以字母顺序。其得到的是仅当前路径下的文件名,不包括子目录中的文件,如果需要得到所有文件需要递归。它也不包括'.'和'..'即使它在目录中。语法格式如下:os.listdir(path)实例代码
系统 2019-09-27 17:56:26 2145
前言说到如何用Python执行线性回归,大部分人会立刻想到用sklearn的linear_model,但事实是,Python至少有8种执行线性回归的方法,sklearn并不是最高效的。今天,让我们来谈谈线性回归。没错,作为数据科学界元老级的模型,线性回归几乎是所有数据科学家的入门必修课。抛开涉及大量数统的模型分析和检验不说,你真的就能熟练应用线性回归了么?未必!在这篇文章中,文摘菌将介绍8种用Python实现线性回归的方法。了解了这8种方法,就能够根据不同
系统 2019-09-27 17:55:53 2145
概述Python3中函数参数一般都是通过赋值进行传递的,而调用者只需要知道如何正确的传递参数即可直接使用函数,位置参数即我们使用最频繁的参数传递方法,通过参数的默认位置从左到右进行匹配deff(x,y,z):print(x,y,z)f(1,2,3)示例结果:123关键词参数我们可以通过函数参数关键字进行参数传递,此时参数的传递是通过变量名匹配,而不是位置的方式匹配,所以在我们在使用混合的基于位置的参数和基于关键字的参数传递的原则就是,先基于位置的参数从左到
系统 2019-09-27 17:55:29 2145
全文共5234字,预计学习时长10分钟图片来源:unsplash.com/@alinnnaaaa本文将介绍如何建立进阶神经网络。输入数据本教程唯一使用的数据库为NumPy。激活函数在隐藏层中会使用tanh激活函数,而在输出层中则会使用sigmod函数。在两种函数的图中都很容易找到信息。下面直接执行函数。以上为Sigmoid函数。以下为该函数代码:设定参数什么是参数和超参数?参数指权值和偏差。超参数会影响参数,并设置在学习过程开始之前。准确无误设置超参数并不
系统 2019-09-27 17:54:41 2145
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python自1.5版本起增加了re模块,它提供Perl风格的正则表达式模式。re模块使Python语言拥有全部的正则表达式功能。compile函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。re模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。本章节主要介绍Python中常用
系统 2019-09-27 17:54:25 2145
作者:HelloGitHub-Prodesire前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认使用Python3作为解释器进行讲解。若你仍在使用Python2,请注意两者之间语法和库的使用差异哦~git常用命令大家不妨回忆一下,平时最常
系统 2019-09-27 17:52:51 2145
第二章1.python和c/c++在if语句使用上是有区别的(1)python:if条件:输出#注意,这里一定要有Tab空格,因为python语法就是按这样来理逻辑的else条件:输出(2)c/c++:if(条件){输出语句;}else{}python没有switch用法2.pythonshell中F键可以用来找关键词第三章1.(1)修改大小写–方法:title(),upper(),lower()(2)删除空白–方法:strip(),lstrip(),rs
系统 2019-09-27 17:52:13 2145
本文由葡萄城技术团队于原创并首发转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。上一篇我们介绍了在Windows10下进行初学者入门开发Python的指南,在本篇中我们一起看一下看在Windows子系统(WSL)如何使用Python进行Web开发的循序渐进指南。设置开发环境我们建议在生成web应用程序时在WSL上安装Python。Pythonweb开发的许多教程和说明都是针对Linux用户编写的,并使用基于Linu
系统 2019-09-27 17:52:11 2145
前言这篇文章主要介绍了linux中如何使用python3获取ip地址,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。一、不带参数#!/usr/bin/python#-*-coding:UTF-8-*-importosdefget_ip():#注意外围使用双引号而非单引号,并且假设默认是第一个网卡,特殊环境请适当修改代码out=os.popen("ifconfig|grep'inetaddr:'|grep-
系统 2019-09-27 17:52:11 2145