自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 收藏
  • 关注

转载 win10 安装mysql5.7.19(5.7.18)

关于数据库这个东东,可能还有很多小伙伴没有接触过,这里简单说一下吧,数据库就是按照数据结构来组织、存储、管理数据的仓库,它可以高效的存储和管理数据,用途及其广泛,比如网站建设开发、软件应用开发等领域,我们常见的数据库有Access、Sqlserver、MySQL、Oracle等,今天亦是美网络小编给大家介绍的是mysql数据库,因为网...

2018-10-18 11:00:38 399

转载 安装 Python 3.6.5+PyCharm

1. Python安装-Python 3.6.5 for Windows第一步:到官网下载Python安装文件,选择对应系统和版本 https://www.python.org/downloads/第二步:安装Python,我是默认位置成功,点击Close检验:打开cmd,输入python - version...

2018-10-18 10:39:53 965 1

原创 Python之pyecharts

引导:图表展示库echarts:前端图表展示库matplotlib、Seaborn、bokeh、pyecharts:后端图表展示库1.安装 pyechartspip install pyecharts2. 代码如下#views.pyfrom pyecharts import Barlist1 = ['A', 'B', 'C', 'D', 'E', '...

2018-07-22 16:09:35 704

原创 Pythonh之处理json的方法

方法1.使用python自带的json模块import jsonjson_str1 = """{"name": "zhangsan", "age": 20}"""json_obj = json.loads(json_str1)print(json_obj)结果如下: 如果名字中有单引号怎么办?方案1:使用eval,将字符串当成代码去执行, 万一数据中包含真

2018-07-22 15:55:28 292

原创 深拷贝与浅拷贝

问题:给你一个列表['1','2','3',[4,5,6],[7,8,9]],请复制一份.要求两份列表相互完全独立.方法1.切片会复制要返回的数据list1 = ['1','2','3',[4,5,6],[7,8,9]]list2 = list1[::]print(id(list1),id(list2))print(list2)list2.pop(0)print(list1)...

2018-07-22 15:23:08 174

原创 Python之opencv画图

1.安装opencvpip install opencv-python2.简单举例 (1)具体代码如下import cv2import numpy as np# (400, 300, 3):高度,宽度,维数img_array = np.zeros((400, 300, 3))# 蓝绿红img_array[100][200] = (255, 0, 0)cv2.ims...

2018-07-22 15:03:53 783

原创 Python之给图片添加水印

1.安装Pillowpip install Pillow2.具体代码如下from PIL import Image, ImageDraw, ImageFont# 指定要使用的字体和大小;黑体,24号font = ImageFont.truetype('heiti.ttf', 24)# image: 图片 text:要添加的文本 font:字体def add_tex...

2018-07-22 14:50:14 1316

原创 Python之汉字转拼音

 1.安装pypinyinpip install pypinyin 2.具体代码如下from pypinyin import pinyin,Style## singer_dict = {## "first": [{"name": "周杰伦",# "singer": "青花瓷"}],## "second": [{

2018-07-22 14:42:23 302

原创 django-redis的安装及使用

1.引导在获取数据后最保险的方式就是将数据持久化.数据持久化的原因(1)防止断网时,数据访问不了(2)防止访问的接口量过大,被认为是爬虫毫无疑问,会选择Redis数据库,原因:它是非关系型数据库,基于内存的,用于充当缓存服务器参考文档:https://blog.csdn.net/sinat_29699167/article/details/796992002.安装dja...

2018-07-22 14:36:35 6752

原创 接口文档的撰写与生成

方法一:用命令实现(较为麻烦)1.apiDoc的安装注意:在安装apiDoc之前,需要先安装Node.js,下载地址:https://nodejs.org/en/download/npm install apidoc -g 生成api的终端命令:apidoc -i 代码所在路径 -o 生成文件的路径 eg: 根据提示,你需要建一个apidos.json   proje...

2018-07-22 13:57:00 557

原创 闭包与装饰器

1.什么是闭包?(1) 函数里面套函数(2) 外部函数的返回值是里面的内部函数(3) 内部函数必须使用外部函数的 变量注意:以上三点都满足的才叫闭包2. 闭包的优缺点?优点:.闭包优化了变量,原来需要类对象完成的工作,闭包也可以完成缺点:由于闭包引用了外部函数的局部变量,则外部函数的局部变量没有及时释放,占用内存 3.自定义一个装饰器注意:写装饰器时往往...

2018-07-22 13:07:12 120

原创 Charles小常识及抓取手机数据

一.Charles小常识注意:(1)浏览网页时花瓶尽量不要打开,可能会出现网页重置现象(2)安装Python包时,切记要将花瓶关闭,否则会报错1.花瓶的端口是88882. 可以改为0.0.0.0/0可以抓取所有IP下的所有端口 3.可以按照以下做法来找接口 二.利用花瓶抓取手机app数据 1.保证电脑和手机在同一个wifi下2.配置手机(1)...

2018-07-21 16:24:11 2224

原创 Gerapy分布式爬虫管理框架

一.介绍Gerapy 是一款分布式爬虫管理框架,支持 Python 3,基于 Scrapy、Scrapyd、Scrapyd-Client、Scrapy-Redis、Scrapyd-API、Scrapy-Splash、Jinjia2、Django、Vue.js 开发。用之前需要将scrapyd启动起来,它是基于scrapyd实现的二.gerapy的初始化配置安装gerapy框架。...

2018-07-18 22:22:53 246

原创 Scrapyd的安装及使用

前言:scarpy是一个爬虫框架, 而scrapyd是一个网页版管理scrapy的工具, scrapy爬虫写好后,可以用命令行运行,但是如果能在网页上操作就比较方便. scrapyd就是为了解决这个问题,能够在网页端查看正在执行的任务,也能新建爬虫任务,和终止爬虫任务,功能比较强大. 还有一个更加强大的国产工具 gerapy!1.需要进入到你的虚拟环境中安装scrapyd=1.2.0  s...

2018-07-18 21:59:41 575

原创 scrapy-redis分布式爬虫

一.知识储备Scrapy本身是不支持分布式的,scrapy_redis是为了更方便的实现scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件)。在 Scrapy 中最出名的分布式插件就是scrapy-redis了,scrapy-redis的作用就是让你的爬虫快、更快、超级快。1.单机爬虫与分布式爬虫的区别单机爬虫:一台电脑运行一个项目。去重采用了set()和queu...

2018-07-17 22:00:32 483

原创 Charles与知乎登录的完美结合

1.从Charles中获取相关数据先登录知乎官网(记得每次登录前要清除 Firefox 存储的所有 Cookie 和网站数据),清除方法如下:   下面从Charles中获取相关数据:(1)代码中的headersaa的来源(2)代码中的post_params的来源 (3)代码中的captcha_url的来源(4)代码中的show_captcha的来源...

2018-07-16 22:16:52 883 1

原创 scrapy爬虫项目与发送邮件相结合(另加logging的简单用法)

1.为了更加清晰,下面将项目的结构展示如下2.具体代码如下emailtest.pyimport scrapy, timefrom datetime import datetimefrom scrapypro.emailspider.emailspider.emailspider.emailsend import EmailSendfrom scrapy.cmdline import e...

2018-07-13 10:28:52 1497 1

原创 scrapy-----发送带有(图片,文档)附件的邮件

以qq邮箱为例,发送带有附件的邮件。具体代码如下import smtplibfrom email.mime.text import MIMETextfrom email.mime.image import MIMEImagefrom email.mime.multipart import MIMEMultipartHOST = "smtp.qq.com"PORT = "465"SU...

2018-07-13 08:53:08 1089

原创 scrapy-----发送邮件简单入门(以qq邮箱,163邮箱为例)

1.引导scrapy中用于发送邮件的模块是smtplib;py文件发送邮件内容相当于一个第三方的客户端,借助于QQ/163邮箱服务器来发送的邮件。2.用qq邮箱来发送邮件登录qq邮箱后,按照下图进行相关配置,开启POP3/SMTP服务和IMAP/SMTP服务,并生成授权码具体代码如下# 用于发送邮件的模块import smtplib# QQ邮件# 1> 配置邮箱SMTP服务器的主机地址...

2018-07-12 13:09:21 1872 1

原创 如何利用scrapy发送post请求?(以微博为例)

1.引导默认情况下,scrapy都是采用GET请求。那么如何利用scrapy发送post请求呢?2.主要代码如下wb.pyimport scrapy, refrom urllib.parse import quotefrom scrapy.http import FormRequestfrom ..items import WeibospiderItemclass WbSpider...

2018-07-12 12:42:49 5705 2

原创 scrapy结合selenium爬取动态网站(以淘宝为例)

1.引导scrapy框架只能爬取静态网站。如需爬取动态网站,需要结合着selenium进行js的渲染,才能获取到动态加载的数据。那么如何通过selenium请求url,而不再通过下载器downloader去请求这个url?方法:在request对象通过中间件的时候,在中间件内部开始使用selenium去请求url,并且会得到url对应的源码,然后再将源代码通过response对象返回,直...

2018-07-12 09:01:06 1501

原创 scrapy----使用Item Loaders对item数据进行提取和解析

1.为什么要使用Item Loaders?它有什么优点呢?原因:之前的方式,是将数据的提取和解析混合在一起,但是Item Loaders是将这两个部分分开处理了;爬虫文件name.py中只负责数据的提取;items.py文件负责数据的整理;(可以实现数据解析代码的重用。相当于将功能相同的解析函数封装成为一个公用的函数,任何爬虫需要这个函数,都可以来调用)优点:(1). 使关于数据的提取代码更加简洁...

2018-07-11 11:59:15 964

原创 scrapy---twisted异步IO框架(实现数据的异步写入)

1.引导数据库pymysql的commit()和execute()在提交数据时,都是同步提交至数据库,由于scrapy框架数据的解析和异步是多线程的,所以scrapy的数据解析速度,要远高于数据写入数据库的速度。如果数据写入过慢,会造成数据库写入的阻塞,影响数据库写入的效率。通过多线程异步的形式对数据进行写入,可以提高数据的写入速度。使用twisted异步IO框架,可以实现数据的异步写入。2.举例...

2018-07-11 09:13:43 1802

原创 scrapy流程图的相关讲解(需要掌握)

一.scrapy架构预览图二.scrapy架构预览图讲解  Scrapy数据流是由执行的核心引擎(engine)控制,流程是这样的:  1、爬虫引擎获得初始请求开始抓取。  2、爬虫引擎开始请求调度程序,并准备对下一一次的请求进行抓取。3、爬虫调度器返回下一个请求给爬虫引擎。  4、引擎请求发送到下载器,通过下载中间件下载网络数据。5、-旦下载器完成页面下载,将下载结果返回给爬虫引擎。6、引擎将下...

2018-07-07 17:56:42 1432

原创 如何切换Python版本?--------基于Window10系统

切换版本,将3.6的上移上移后将之前的cmd关闭,在重新打开一个cmd,输入python,即可切换到3.6若,还未切换成功,则重启电脑即可

2018-07-07 16:49:50 621 1

原创 scrapy----下载文件

1.qishu.py# 需要下载的文件地址,需要是一个列表# 如果不下载,只是将地址保存在数据库中,不需要设置列表    qishu['download_url'] = [download_url]2.在pipelines.py中自定义自己的pipelinefrom scrapy.pipelines.files import FilesPipelinefrom scrapy.http imp...

2018-07-06 21:35:33 1335

原创 scrapy----下载(分类)图片

一.将图片下载到同一个文件夹中1.novel.py # 需要下载的图片地址,需要是一个列表 # 如果不下载,只是将地址保存在数据库中,不需要设置列表 novel['img_url'] = [img_url]2.在pipelines.py中自定义自己的pipelinefrom scrapy.pipelines.images import ImagesPipelineclass Cust...

2018-07-06 21:16:56 381

原创 scrapy----将数据保存到MySQL数据库中

1.在pipelines.py中自定义自己的pipelineimport pymysqlclass PymysqlPipeline(object): def __init__(self): # 连接数据库 self.connect = pymysql.connect( host='localhost', db...

2018-07-06 20:49:11 875

原创 scrapy----将数据保存到MongoDB中

1.在pipelines.py中自定义自己的pipelineimport pymongoclass MongoPipeline(object): def __init__(self, client, db):        self.client = pymongo.MongoClient(client) self.db = self.client[db] ...

2018-07-06 20:42:12 722

原创 scrapy----将数据保存到excel中

1.在pipelines.py中自定义自己的pipelinefrom openpyxl import Workbookclass ExcelPipeline(object): def __init__(self): self.wb = Workbook() self.ws = self.wb.active self.ws.append(['...

2018-07-06 20:34:49 3779 4

原创 scrapy----将数据保存为json文件

方法一:通过在cmd中输命令来实现scrapy crawl novel -o novel.json -s FEED_EXPORT_ENCIDING=UTF-8job为爬虫名称(name)scrapy将数据保存为csv文件: scrapy crawl novel -o novel.csv -s FEED_EXPORT_ENCIDING=UTF-8方法二:通过pipelines实现1.自定义自己的pi...

2018-07-06 20:29:11 4897

原创 CookiesPool(weibo)的下载及配置

一.引导可扩展的Cookies池,目前对接了新浪微博,m.weibo.cn,可自行扩展其他站点使用 Cookie池,定期的检查Cookie是否失效,可以将多个账号登录之后的Cookie保存在池子中,在爬取网站时,可以随机获取一个账号的登录Cookie,实现多账号爬取的功能。二.下载及相关配置可参考文档:https://github.com/Python3WebSpider/CookiesPool下...

2018-07-06 19:32:01 1239

原创 在Python虚拟环境中使用scrapy框架

在你完全配置好Python虚拟环境后,接下来进入到你已配置好的虚拟环境中安装你所需要的包

2018-07-03 22:49:34 708

原创 Python虚拟环境的安装和配置之设置快捷进入虚拟环境方式(windows)

注意!!!每次创建的虚拟环境是干净的,你需要什么包,随后再安装即可虚拟环境是以文件夹的形式存在的,给虚拟环境起名字时切记不能重复1.下载virtualenvwrapper-win 包 如果使用豆瓣源安装失败,可以采用下面的方法2.输入workon命令查看是否可用  3.使用virtualenvwrapper创建虚拟环境 默认放在C:\Users\Admin...

2018-07-03 16:35:53 2664

原创 selenium之截图功能

使用selenium进行验证码图片的截图:1. 将整个页面截取一个大图;2. 在页面上通过xpath/cssselect定位到验证码图片;3. 获取验证码图片在整个大图中的坐标;4. 根据坐标从大图中截取小图;下面以截取云打码的验证码为例,完整代码如下:# PIL属于Pillow模块下的一个模块,主要是用来处理图片。from PIL import Imagefrom selenium impo...

2018-06-30 17:45:26 505

原创 selenium之窗口切换

1.何时需要切换窗口呢?(1) 标签内部存在iframe,普通的方式无法直接定位到iframe内部的标签元素。需要切换;(2) 一个浏览器对象,存在多个标签选项卡。需要切换。2.iframe标签举例(QQ邮箱登录)from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitimpo...

2018-06-30 17:10:48 281

原创 selenium之元素等待

1.何为元素等待呢?元素等待:js代码执行渲染期间,导致数据/标签加载缓慢,如果元素没有加载完成,直接通过find_element去进行定位,会出现元素不存在的异常。2.元素等待的三种方法(1) time.sleep(10) 强制性等待,不管元素在设置时间范围内是否加载出来,都必须要等待固定的时间。(2)WebDriverWait(10) 智能等待的方法,最多等待10秒,10秒之后仍然没有元素,会...

2018-06-30 16:52:08 232

原创 selenium常用知识点总结

一.selenium框架的元素定位1.获取单个元素driver.find_element_by_css_selector()driver.find_element_by_class_name()driver.find_element_by_id()driver.find_element_by_xpath()2.批量获取元素driver.find_elements_by_css_selector()...

2018-06-30 16:42:28 624

原创 selenium简单入门

一.引导:selenium(浏览器自动化测试框架)本身提供了许多元素定位的方法,find_element_by_id()这些方法底层是用python语言实现的,提取速度上会慢一些。通常情况下,使用phantomjs/selenium也只是获取js渲染后的网页源代码,而网页中数据的提取,还可以使用xpath, css, re, bs4, etree等。网页中通过js渲染的数据,爬虫的解决办法:1. ...

2018-06-30 15:46:55 232

原创 云打码的简单使用举例

1.在云打码官网上下载"Python调用示例"具体步骤如下:2.下载完成后会发现代码中会用到appid,appkey,那么问题就来了,它们是什么?又是从哪里获得的呢?appid:即为下图中的软件代码;appkey:即为下图中的通讯密钥.3.利用云打码获取验证码并进行登录及验证验证码是否输入正确大概流程:请求验证码网址(获取到验证码图片)->下载验证码到本地->获取验证码图片-->...

2018-06-29 22:14:37 5967 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除