摘要: 装饰器(Decorators)是 Python 的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。在程序开发中经常使用到的功能,合理使用装饰器,能让我们的程序如虎添翼。 一、 函数名应用 函数名是什么?函数名是函数的名字 阅读全文
posted @ 2019-10-10 22:14 PythonGirl 阅读(1513) 评论(1) 推荐(3) 编辑
摘要: 错误信息:程序包无效。详细信息:“Cannot load extension with file or directory name . Filenames starting with "" are reserved for use by the system.”。 1、找到Chrome安装程序路径 阅读全文
posted @ 2019-09-18 15:44 PythonGirl 阅读(4391) 评论(0) 推荐(0) 编辑
摘要: 首先,MySQL创建好数据库和表 然后编写各个模块 item.py import scrapy class JianliItem(scrapy.Item): name = scrapy.Field() url = scrapy.Field() pipeline.py import pymysql # 阅读全文
posted @ 2019-09-11 22:04 PythonGirl 阅读(596) 评论(0) 推荐(1) 编辑
摘要: 数学运算(7) 类型转换(21) 序列操作(8) 对象操作(6) 反射操作(7) 装饰器(3) 变量作用域(3) 字符串类型代码(4) 输入输出(2) 迭代器、生成器相关(2) 其他(4) 一、数学运算 abs:返回数字的绝对值 abs(-1) # 1 round:保留浮点数的小数位数,默认保留整数 阅读全文
posted @ 2019-09-11 19:40 PythonGirl 阅读(1276) 评论(0) 推荐(0) 编辑
摘要: 一、函数初识 函数的产生:函数就是封装一个功能的代码片段。 def 关键字,定义一个函数 function 函数名的书写规则与变量一样。 括号是用来传参的。 函数体,就是函数里面的逻辑代码 代码从上至下执行,执行到def function() 时, 将function这个变量名加载到临时内存中,但它 阅读全文
posted @ 2019-09-10 22:42 PythonGirl 阅读(1703) 评论(0) 推荐(3) 编辑
摘要: 一、文件操作初识 f = open('文件路径', '编码方式', '操作方式') # 注意里面所有内容,需加引号 ” 打开一个文件需要知道的内容有: 文件路径:c:\文件.txt(绝对路径和相对路径) 编码方式:utf-8、gbk、GB2312…(windows 默认的编码方式gbk,linux默 阅读全文
posted @ 2019-09-10 16:10 PythonGirl 阅读(868) 评论(2) 推荐(1) 编辑
摘要: 一、变量 1.变量的定义 将程序运算的中间结果临时存在内存里,以便后续代码调用。 2.变量的使用规范 1)变量必须要有数字,字母,下划线,任意组合。 2)变量不能数字开头。 3)不能是python中的关键字(有特殊意义)。 ['and', 'as', 'assert', 'break', 'clas 阅读全文
posted @ 2019-09-10 12:25 PythonGirl 阅读(1174) 评论(0) 推荐(1) 编辑
摘要: 豆瓣电影TOP 250网址 要求: 1.爬取豆瓣top 250电影名字、演员列表、评分和简介 2.设置随机UserAgent和Proxy 3.爬取到的数据保存到MongoDB数据库 items.py # -*- coding: utf-8 -*- import scrapy class Douban 阅读全文
posted @ 2019-09-10 10:17 PythonGirl 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 一、简介 网页三元素: html负责内容; css负责样式; JavaScript负责动作; 从数据的角度考虑,网页上呈现出来的数据的来源: html文件 ajax接口 javascript加载 如果用requests对一个页面发送请求,只能获得当前加载出来的部分页面,动态加载的数据是获取不到的,比 阅读全文
posted @ 2019-09-09 17:29 PythonGirl 阅读(10614) 评论(0) 推荐(2) 编辑
摘要: 一、背景 之前爬虫使用的是requests+多线程/多进程,后来随着前几天的深入了解,才发现,对于爬虫来说,真正的瓶颈并不是CPU的处理速度,而是对于网页抓取时候的往返时间,因为如果采用requests+多线程/多进程,他本身是阻塞式的编程,所以时间都花费在了等待网页结果的返回和对爬取到的数据的写入 阅读全文
posted @ 2019-09-08 18:16 PythonGirl 阅读(5254) 评论(11) 推荐(12) 编辑
摘要: 一、简介 为了提高爬虫程序效率,由于python解释器GIL,导致同一进程中即使有多个线程,实际上也只会有一个线程在运行,但通过request.get发送请求获取响应时有阻塞,所以采用了多线程依然可以提高爬虫效率。 多线程爬虫注意点1.解耦 整个程序分为4部分,url list模块、发送请求,获取响 阅读全文
posted @ 2019-09-08 15:11 PythonGirl 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。 有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事 阅读全文
posted @ 2019-09-08 10:37 PythonGirl 阅读(601) 评论(0) 推荐(1) 编辑
摘要: 下载中间件简介 在Scrapy中,引擎和下载器之间有一个组件,叫下载中间件(Downloader Middlewares)。因它是介于Scrapy的request/response处理的钩子,所以有2方面作用: (1)引擎将请求传递给下载器过程中,下载中间件可以对Requests进行一系列处理。比如 阅读全文
posted @ 2019-09-08 08:07 PythonGirl 阅读(1031) 评论(3) 推荐(2) 编辑
摘要: 一.Scrapy框架简介 何为框架,就相当于一个封装了很多功能的结构体,它帮我们把主要的结构给搭建好了,我们只需往骨架里添加内容就行。scrapy框架是一个为了爬取网站数据,提取数据的框架,我们熟知爬虫总共有四大部分,请求、响应、解析、存储,scrapy框架都已经搭建好了。scrapy是基于twis 阅读全文
posted @ 2019-09-06 19:58 PythonGirl 阅读(6102) 评论(0) 推荐(6) 编辑
摘要: 一、简介 - 爬虫中为什么需要使用代理 一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会禁止这个IP的访问。所以我们需要设置一些代理IP,每隔一段时间换一个代理IP,就算IP被禁止,依然可以换个IP继续爬取。 - 代理 阅读全文
posted @ 2019-09-06 12:37 PythonGirl 阅读(9274) 评论(0) 推荐(2) 编辑
摘要: 基础数据类型,有7种类型,存在即合理。 1.int 整数 主要是做运算的 。比如加减乘除,幂,取余 + - * / ** %...2.bool 布尔值 判断真假以及作为条件变量3.str 字符串 存储少量的数据。比如'password'... 操作简单,便于传输。4.list 列表 [1,2,'al 阅读全文
posted @ 2019-09-05 23:20 PythonGirl 阅读(824) 评论(0) 推荐(1) 编辑
摘要: Web介绍: w3c:万维网联盟组织,用来制定web标准的机构(组织) web标准:制作网页遵循的规范 web准备规范的分类:结构标准、表现标准、行为标准。 结构:html。表示:css。行为:Javascript。 web总结: 结构标准:相当于人的身体。html就是用来制作网页的。 表现标准: 阅读全文
posted @ 2019-08-23 21:34 PythonGirl 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。 正则表达式通常被用来匹配、检索、替换和分割那些符合某个模式(规则)的文本。 一、常用正则表达式回顾 单字符: . : 除换行以外所有字符 [] :[aoe] 阅读全文
posted @ 2019-08-23 20:45 PythonGirl 阅读(11469) 评论(0) 推荐(1) 编辑
摘要: 一、简介 1.下载:pip install lxml 推荐使用douban提供的pipy国内镜像服务,如果想手动指定源,可以在pip后面跟-i 来指定源,比如用豆瓣的源来安装web.py框架: pip install web.py -i http://pypi.douban.com/simple - 阅读全文
posted @ 2019-08-23 19:55 PythonGirl 阅读(4576) 评论(0) 推荐(2) 编辑
摘要: 引入 大多数情况下的需求,我们都会指定去使用聚焦爬虫,也就是爬取页面中指定部分的数据值,而不是整个页面的数据。因此,在聚焦爬虫中使用数据解析。所以,我们的数据爬取的流程为: 指定url 基于requests模块发起请求 获取响应中的数据 数据解析 进行持久化存储 数据解析: - 被应用在聚焦爬虫。 阅读全文
posted @ 2019-08-23 18:53 PythonGirl 阅读(7860) 评论(0) 推荐(0) 编辑
摘要: 一、什么是requests 模块 requests模块是python中原生的基于网络请求的模块,功能强大,用法简洁高效。在爬虫领域中占据着半壁江山的地位。requests模块作用:模拟浏览器发请求。 二、为什么要使用requests 模块 因为在使用urllib模块的时候,会有诸多不便之处,总结如下 阅读全文
posted @ 2019-08-22 22:58 PythonGirl 阅读(12272) 评论(0) 推荐(0) 编辑
摘要: 一、HTTP协议 1.简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写, 是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP协议就是服务器(Server)和客户端(Client)之间进行数据交 阅读全文
posted @ 2019-08-22 20:06 PythonGirl 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后去互联网上爬取/获取数据的过程。 爬虫的分类 - 通用爬虫:就是爬取互联网中的一整张页面内容。 - 聚焦爬虫:根据指定的需求爬取页面中指定的局部内容 - 增量式爬虫:用来检测网站数据更新的情况。只会爬取网站中最新更新出来的数据。 反爬虫:门户网站通 阅读全文
posted @ 2019-08-22 19:08 PythonGirl 阅读(284) 评论(0) 推荐(0) 编辑