Python

python使用Scrapy框架编写一个抓取书籍信息的爬虫服务

Scrapy是一个开源的Python数据抓取框架,速度快,强大,而且使用简单。来看一个官网主页上的简单并完整的爬虫:虽然只有10行左右的代码,但是它的确是一个完整的爬虫服务:当执行scrapyrunspiderxxx.py命令的时候,Scrapy在项目里查找Spider(蜘蛛️)并通过爬虫引擎来执行它。首先从定义在start_urls里的URL开始发起请求,然后通过parse()方法处理响应。response参数就是返回的响应对象。在parse()方法中,

系统 2019-09-27 17:53:38 1998

Python

如何编写快速且线程安全的Python代码

概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c

系统 2019-09-27 17:52:39 1998

Python

python2.7到3.x迁移指南

目前,Python科学栈中的所有主要项目都同时支持Python3.x和Python2.7,不过,这种情况很快即将结束。去年11月,Numpy团队的一份声明引发了数据科学社区的关注:这一科学计算库即将放弃对于Python2.7的支持,全面转向Python3。Numpy并不是唯一宣称即将放弃Python旧版本支持的工具,pandas与Jupyternotebook等很多产品也在即将放弃支持的名单之中。对于数据科学开发者而言,如何将已有项目从Python2转向P

系统 2019-09-27 17:52:25 1998

Python

Python相关文章索引(14)

基本常识python中的左位移和右位移利用Python在一个文件的头部插入数据withopen(path,"r+")asf:old=f.read()f.seek(0)f.write(data)f.write(old)Debugxpath中遇到[]AttributeError:‘dict’objecthasnoattribute‘iteritems’Python3.5中:iteritems变为items【Python】ufunc‘subtract’didno

系统 2019-09-27 17:52:10 1998

Python

Python迭代器

print("我想打印一个字符串%s"%123)print("我想打印一个字符串",123)print("我想打印一个字符串{}".format(123))这三个输出有什么区别喃?Python中一个数据是否可以迭代(能否使用For)isinstance(需要判断的数据,Iterable)查看返回值,true则可以迭代,false不能迭代。如果创建一个可以迭代的对象?必须实现__iter__()方法在__iter__方法中需要返回一个具有__iter__方法

系统 2019-09-27 17:52:09 1998

Python

Python适配器模式代码实现解析

Python适配器模式,代码,思考等#-*-coding:utf-8-*-#author:baoshanclassComputer:def__init__(self,name):self.name=namedef__str__(self):return'the{}computer'.format(self.name)defexecute(self):return'executesaprogram'classSynthesizer:def__init__(s

系统 2019-09-27 17:52:07 1998

Python

Python写的Tkinter程序屏幕居中方法

本文适用场景:想用Tkinter开发界面程序并屏幕居中,但没找到相应的API。这两天玩了玩Tkinter,感觉不错,就是屏幕居中这个问题在网上搜了很长时间也没找到答案,最后没办法,看它的文档,用自己的方法实现了。方法很土,就是获取初始化的窗体大小和屏幕大小,再通过计算得到大体值。以下是代码:复制代码代码如下:#!/usr/bin/python'''File:screenCenter.pywAuthor:MikeE-Mail:Mike_Zhang@live.

系统 2019-09-27 17:51:41 1998

Python

深入分析python数据挖掘 Json结构分析

json是一种轻量级的数据交换格式,也可以说是一种配置文件的格式这种格式的文件是我们在数据处理经常会遇到的python提供内置的模块json,只需要在使用前导入即可你可以通过帮助函数查看json的帮助文档json常用的方法有load、loads、dump以及dumps,这个都属于python初级,我不做过多解释json可以结合数据库一起使用,在这以后要处理大量数据时非常有用下面我们正式来利用数据挖掘对json文件进行处理现在很多网站都运用了Ajax,所以一

系统 2019-09-27 17:51:28 1998

Python

Python 学习之路——前言

目录python编程语言简介一、产生背景:二、python编程语言的应用场景三、python的优缺点四、python语法五、python基础内容点六、代码规范:python编程语言简介Python是著名的“龟叔”GuidovanRossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。Python是一门面向对象的解释型脚本编程语言Python是一门高级编程语言,但是高级不等同于简单。但是对于新手和初学者,非常容易上手Python语言是当

系统 2019-09-27 17:51:23 1998

Python

ubuntu 18.04搭建python环境(pycharm+anaconda)

ubuntu系统自带的python有多个版本,使用时难免会遇到环境变量出错,特别是当自动化运行脚本的时候。特别是近一个月来,实验室的小伙伴们的都倾心于python。为了帮助小伙伴们快速搭建自己的python环境,笔者写下了这篇教程。当然,如果ubuntu自带的python自己使用没有问题,可以略去anaconda的安装。AnacondaAnaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包

系统 2019-09-27 17:51:20 1998

Python

Pycharm+django2.2+python3.6+MySQL实现简单

1准备工作1.1环境搭建1.1.1安装python3.6python安装官网1.1.2安装django2.2pipinstalldjango(==2.2.0)//不加版本默认安装最新版1.1.3安装pycharm(社区版,官网下载安装即可)在安装完成后要配置好需要的第三方库:(pip下载,推荐在pycharm下也配置虚拟环境)Django2.2连接mysql需要的库:PyMySQL,mysql,mysqlclinet验证码用到的库:django-simpl

系统 2019-09-27 17:51:19 1998

Python

CentOS 6.3编译安装Python3.6.3

安装前准备(准备编译环境)yuminstallzlib-develbzip2-developenssl-develncurses-develgcc-c++gcc-y获取Python3.6源码#获取源码wgethttps://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz#安装xzyuminstallxz-y#解压tar-xvfPython-3.6.3.tar.xz-C/usr/local/src/安装

系统 2019-09-27 17:51:11 1998

Python

python库lxml在linux和WIN系统下的安装

lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高XPath,全称XMLPathLanguage,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索XPath的选择功能十分强大,它提供了非常简明的路径选择表达式,另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等,几乎所有我们想要定位的节点,都可

系统 2019-09-27 17:50:58 1998

Python

Python学习笔记之集合的概念和简单使用示例

本文实例讲述了Python学习笔记之集合的概念和简单使用。分享给大家供大家参考,具体如下:集合概念解释:一个包含唯一元素的可变和无序的集合数据类型。集合的一个用途是快速删除列表中的重复项。numbers=[1,2,6,3,1,1,6]unique_nums=set(numbers)print(unique_nums)#{1,2,3,6}支持in运算符,使用add方法将元素添加到集合中,并使用pop方法删除元素(会随机删除一个元素)fruit={"apple

系统 2019-09-27 17:50:46 1998

Python

使用python实现滑动验证码功能

首先安装一个需要用到的模块pipinstallsocial-auth-app-django安装完后在终端输入piplist会看到social-auth-app-django3.1.0social-auth-core3.0.0然后可以来我的github,下载关于滑动验证码的这个demo:https://github.com/Edward66/slide_auth_code下载完后启动项目pythonmanage.pyrunserver启动这个项目后,在主页就

系统 2019-09-27 17:50:45 1998