![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
冻梨不是梨
公众号:壹家大数据
展开
-
python实现文件夹目录展示
前两天一个老同学突然找我,说他想实现一个文件夹目录展示的功能,难道是Windows的自带的文件管理器不香吗?既然不是那啥的,都好说。既然想实现这个功能,非常炫酷的,咱们做不出来,一个简单的功能还是可以做出哦来,毕竟网上的资源这么多,想改编一个还是可以的。一 、分析要想实现这个功能,肯定要包含前端和后端这两个部分,那么web框架主流的django和flask。这个功能是一个比较简单的功能...原创 2020-03-29 22:11:28 · 1416 阅读 · 1 评论 -
抓取微信公众平台
一 概述抓取搜狗微信公众号文章 因为微信公众号网页是动态的,不能使用requests进行抓取,因此采用了selenium来进行抓取,包括了一下模块:1.url队列存储模块db.py: 采用了是redis来进行存储。为了方便调度,将url和其对应解析模块组成的列表一起存入了redis的列表中;url队列采用了先进先出的方式2.数据存储模块mongo.py: 最终抓取的数据存储到了mong...原创 2018-08-25 22:04:58 · 467 阅读 · 0 评论 -
爬虫url-去重
在爬虫启动工作的过程中,我们不希望同一个网页被多次下载,因为重复下载不仅会浪费CPU机时,还会为搜索引擎系统增加负荷。而想要控制这种重复性下载问题,就要考虑下载所依据的超链接,只要能够控制待下载的URL不重复,基本可以解决同一个网页重复下载的问题。非常容易想到,在搜索引擎系统中建立一个全局的专门用来检测,是否某一个URL对应的网页文件曾经被下载过的URL存储库,这就是方案。接着要考虑的就是...转载 2018-09-04 14:15:20 · 657 阅读 · 0 评论 -
《我不是药神》评论词云分析
继上一篇爬取《我不是药神》的评论后,现在开始使用jieba分词和词云来分析评论。下面是代码:import matplotlib.pyplot as pltfrom wordcloud import WordCloudfrom scipy.misc import imreadimport jiebatext = open(r"yaoshen.txt","rb").read()...原创 2018-08-23 18:17:27 · 1179 阅读 · 0 评论 -
从 javascript 标签中获取数据
之前的一篇博客,介绍了使用js2xml 模块来解决javascript标签中的数据问题,但实际操作后发现,使用js2xml解析js得到的标签书,太过于反人类了。标签树是得到了,但获取数据就难了很多,那样的标签毕竟不是适合阅读的。今天又查看了下上篇文章中js的包含的数据结构,不就是dict或者json嘛。顿时感觉发现了新大陆。 ...原创 2018-08-30 23:35:02 · 644 阅读 · 0 评论 -
json模块 dunms,loads, dum,load 函数介绍
1、json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数。import json name_emb = {'a':'1111','b':'2222','c':'3333','d':'4444'} jsObj = json.dumps(n...转载 2018-08-30 22:15:30 · 480 阅读 · 0 评论 -
worldcloud淘宝手机品牌词云分析
淘宝手机信息的爬取,请看这边博客(点击这里),然后我们利用其中保存的文本来进行绘制词云。首先直接贴上代码(有写的不明白的可以直接留言,一起学习)import matplotlib.pyplot as pltfrom wordcloud import WordCloudfrom scipy.misc import imreadimport jiebatext = open(r"t...原创 2018-08-20 03:38:06 · 954 阅读 · 0 评论 -
python 《我不是药神》豆瓣影评爬取
python 版本3.6 爬取豆瓣上的《我不是药神》的评论,代码直接粘贴在下面了,注意把其中的headers,替换成自己的。具体的方法是打开豆瓣官网,然后 右键 审查元素,点击network,刷新,找到第一个链接就能点击, 然后右侧就能出现了,之后下来会看到requests headers,那里就是,如下图所示:之后将那里面的东西复制出来,粘贴到代码里的headers出就可以了。有写的...原创 2018-08-19 09:57:25 · 2236 阅读 · 4 评论 -
python 回调函数
在之前学爬虫的时候,就遇到了这个问题,当时没弄明白。现在明白了,特来记录。首先看一个小例子,后面会附上知乎一位大神的解说。def a(i): """" 回调函数1 """ print("回调函数1") return i**2def b(i): """ 回调函数2 """ print("回调函数2") re...原创 2018-08-18 18:02:00 · 3455 阅读 · 2 评论 -
python selenium实现下拉 爬取淘宝商品信息
之前爬取过一次淘宝的商品,直接使用slenium就可以直接爬取信息,这次又想再次爬取一下信息,发现每次爬取的信息都不全,纠结啊!(一)首先,介绍下背景:这次爬取的选择是手机。打开淘宝,搜索手机,可以发现每页商品共有48个,一共100页。 (二)流程介绍首先确定使用的爬取方式(这里使用selenium),然后是页面分析,标签定位,最后确定信息的存储方式(这里为了方便直接打...原创 2018-08-13 22:35:08 · 1029 阅读 · 0 评论 -
python 中的编码方式
之前就用过,正好这次记录下来1.urllib.urlencode(query, doseq=0)接受参数形式为:[(key1, value1), (key2, value2),...] 和 {'key1': 'value1', 'key2': 'value2',...}返回的是形如'key2=value2&key1=value1'字符串。>>>urllib.ur...转载 2018-08-13 09:35:17 · 176 阅读 · 0 评论 -
爬虫基础
基本概念:1、通用爬虫:可理解为搜索引擎,例如百度、google等,针对的是互联网上所有的资源2、聚焦爬虫:可理解为爬取指定内容的爬虫3、URI:统一资源标识符,即标明网络资源的字符串4、URL:统一资源定位符,即网络资源的地址,包括协议、服务器名称或IP、文件资源的路径三部分组成5、DNS服务器:用于解析网址,返回服务器IP地址的服务器。 爬虫所依赖的应用层的协议:HT...原创 2018-08-13 08:46:39 · 203 阅读 · 0 评论 -
如何在requests session中手动设置cookie
最近工作中在使用python requests库时遇到一个问题,就是如何在session中设置对所有请求都生效的cookie?requests中的session对象一大特性就是它会自动为你管理cookie,当你登录一个页面时,它可以自动识别response中的set cookie头,然后为下面的请求一直维持这个cookie。不过我在使用的过程中,因为目标网站登录有验证码,所以打算每次运行时手动登录...转载 2018-08-12 21:26:48 · 3838 阅读 · 0 评论 -
python 多个变量同时赋值
t = 1t, a = 3, t+1如上,正确的输出应该是怎么样的呢?是t=3, a=4,还是其他的呢?现在我们来运行一下>>> t=1 >>> t, a = 3, t+1 >>> a 2>>> t 3>>&g原创 2018-09-10 17:48:37 · 1873 阅读 · 0 评论 -
django 安装与未来发布计划
如何获得DjangoDjango是BSD许可下的开源软件。我们建议使用最新版本的Python 3.支持Python 2.7的最后一个版本是Django 1.11 LTS。有关每个Django版本支持的Python版本,请参阅常见问题解答。以下是如何获得它:选项1:获取最新的正式版最新的官方版本是2.2。阅读2.2发行说明,然后使用pip安装:<span style=...原创 2019-04-27 22:23:36 · 397 阅读 · 2 评论 -
python绘制引力波
使用python绘制引力波经过不懈的努力人们终拿到了黑洞的照片,但是是否还记得之前人们人们发现的引力波吗?想不想自己手绘一个引力波的图形呢?接下来就手把手教你绘制一个引力波的图像。绘制引力波最重要的是要有数据源,可以从下面的网址下载我们所需要的数据数据源从这个链接,把下面的这些文件下载下来。需要使用的python库numpymatplotlibscipu.io 接下来就是代...原创 2019-04-14 13:24:16 · 1981 阅读 · 0 评论 -
scrapy 安装时缺少 Microsoft Visual C++ 14.0 报错的解决方法
之前安装的时候,就报过这样的错,但当时以为就是缺少 Microsoft Visual C++ 14.0, 没有仔细分析,然后就开 始全网去找这个组件。其实,现在仔细分析下面的红字报错,可以发现,安装失败原因是没有安装 Twisted。因此,先下载了一个Twisted 的 .whl 文件下载链接: https://www.lfd.uci.edu/~gohlke/pythonlib...原创 2019-04-21 09:57:03 · 760 阅读 · 1 评论 -
百度人脸识别api介绍(转)
在百度AI开放平台使用百度的人脸识别能力,只需要三个核心步骤即可操作完成:1、获取接口权限 2、准备接口调用工具 3、进行接口调用,全部流程走通只需要十分钟时间。具体操作步骤如下:1、获取接口权限获取接口权限是调用接口的前提,主要分为以下几步:(1)进入百度云的人脸识别控制台https://console.bce.baidu.com/ai/?_=1528192...转载 2019-03-25 23:47:32 · 8121 阅读 · 0 评论 -
python爬虫实战-抓取同花顺股票信息
前言: 在之前介绍requests的基础上,现在开始进行实战。 目标网站:http://q.10jqka.com.cn//index/index/board/all/field/zdf/order/desc/page/一 涉及到的技术点: (1)requests: 用于网页请求...原创 2018-12-09 22:25:59 · 30616 阅读 · 37 评论 -
python爬虫系列——requests库
前言: 前一篇文章中,我们学习了怎么查看保存在网页中的信息,但要怎么把这些信息从网上抓取下来呢?接下来我们就来解决这个问题。让我们一起走进requests。 一 requests 简介 Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,Requests它会比urllib...原创 2018-12-03 23:43:07 · 577 阅读 · 0 评论 -
python 爬虫系列-信息在哪里?
本文主要介绍网页中的信息在哪里,怎么定位信息 当打开一个网页的时候,通常会看到各种各样的信息,比如淘宝,会看到各种商品的信息,比如商品的名称,价格等。但是这些信息是包含在哪里,爬虫又该怎么获取呢?这个时候就要用到网页的源代码。接下来以猫眼电影为例,一起来看下怎么查看网页的源代码,并查看这些信息是怎么保存的。 打开猫眼电影,找到其榜单如下:...原创 2018-12-02 23:03:07 · 426 阅读 · 0 评论 -
python 爬虫入门解析
在正式的介绍网络爬虫技术之前,首先按照我自己的学习经历,来说下网络爬虫是什么,需要哪些技术。(一)什么是网络爬虫爬虫,按照其字面意思来看,就是一只会爬的虫子。那什么是网络爬虫爬虫呢?没错,就是一支在网络上爬的虫子。只不过这是在网络上爬的虫子,比较特殊,在爬的时候,他还在拾取网络上的数据。(二)学习网络爬虫需要哪些技能呢?既然你已经知道什么是网络爬虫了,那么你肯定在想,我怎么样才能制...原创 2018-10-29 23:01:22 · 427 阅读 · 0 评论 -
selenium 获取id
使用selenium获取id的值有两种方法,分别是,以标签a为例,分别是a.id获取到的id是一串字符串,并不是id的值a.get_attribute('id')获取到的id是id本身的值...原创 2018-09-20 18:18:39 · 3829 阅读 · 0 评论 -
python中使用xlrd、xlwt操作excel表格详解
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究"(用此一词让我觉得颇有成就感)之后,基本解决了日常所需。主要记录使用过程的常见问题及解决。python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。可...转载 2018-09-20 00:33:17 · 412 阅读 · 0 评论 -
python 读取excel
要求:读取excel使用的模块:xlrd#coding=utf-8import xlrd#路径前加 r,读取的文件路径file_path = r'F:/test.xlsx'#文件路径的中文转码file_path = file_path.decode('utf-8')#获取数据data = xlrd.open_workbook(file_path)#获取sheet...原创 2018-09-19 23:27:17 · 769 阅读 · 0 评论 -
生成制定长度的随机密码
生成制定长度的随机密码使用语言python3.6使用模块 random, string 要求:生成制定长度的随机密码,必须包含大小写字母,数字import stringimport randomllen = int(input("输入密码长度>>>"))def pass_create(lenth): cha = string.ascii_le...原创 2018-09-10 22:25:56 · 295 阅读 · 0 评论 -
python 爬虫 正则表达式爬取猫眼电影top100榜
思路分析,首先分析猫眼电影的top100榜的网页特点,然后根据网页信息编写用于匹配的正则表达式,然后提取对应的信息即可。接下来是对存储文件的操作,将最终的结果存储在csv结果。因为在编写过程中,要试很多次,为了不要每次都手动删除文件,因此在程序运行开始之前判断文件是否已经存在,如果存在则删除,然后开始便开始爬取信息。代码如下:import reimport requestsimpo...原创 2018-08-07 21:47:11 · 479 阅读 · 0 评论 -
python爬虫常用浏览器请求头
user_agent = [ "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) Ap...原创 2018-08-12 11:33:10 · 1816 阅读 · 0 评论 -
python 创建和删除文件
#!/usr/bin/python#-*-coding:utf-8-*- #指定编码格式,python默认unicode编码 import osdirectory = "./dir"os.chdir(directory) #切换到directory目录cwd = os.getcwd() #获取当前目录即dir目录下print("-------------...转载 2018-08-07 18:47:32 · 302 阅读 · 0 评论 -
Python合并列表,append()、extend()、+、+=
在实际应用中涉及到了列表合并的问题。在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,下面是区别 1.append() 向列表尾部追加一个新元素,列表只占一个索引位,在原有列表上增加,添加新的元素2.extend() 向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加,添加新的列表3.+ 直接用+号看上去与用exten...原创 2018-07-12 14:21:32 · 1071 阅读 · 0 评论 -
python mongo数据库——过期自动删除
MongoDB的过期设置依赖索引(TTL-index),设置过期字段使用的索引后,插入数据时在该字段指定日期时间,经过在创建索引时指定的秒数后,该记录会被MongoDB认为已经过期,然后删除。创建索引和指定过期时间的方式类似,要注意的是过期时间的字段必须使用UTC时间,否则无法正常删除记录因此指定过期时间删除虽然也可以起作用,但是不能确定删除时间非常精确。from pymongo im...原创 2018-07-23 11:09:25 · 1014 阅读 · 0 评论 -
python — 定时爬取猫眼电影排行榜
每次程序运行都是运行一次就结束了,那么能不能定时运行呢?接下来介绍python中的定时运行模块,schedule。首先是模块的安装,推荐使用 pip 安装:pip install schedule接下来,在python的自带的IDLE中输入help('schedule'),就可以看到schedule的介绍。下面是schedule自带的例子:import scheduleimport time ...原创 2018-06-28 16:07:01 · 648 阅读 · 0 评论 -
python 多进程介绍
昨天在尝试爬取一个网站的时候,发现速度太慢,就想着使用多进程或者是多线程。原文链接:https://my.oschina.net/yangyanxing/blog/296052一、先说说Queue(队列对象)Queue是python中的标准库,可以直接import 引用,之前学习的时候有听过著名的“先吃先拉”与“后吃先吐”,其实就是这里说的队列,队列的构造的时候可以定义它的容量,别吃撑了,吃多了,...转载 2018-07-03 10:22:44 · 189 阅读 · 0 评论 -
python 中的urlparse模块
urlparse模块主要是用于解析url中的参数 对url按照一定格式进行 拆分或拼接 1.urlparse.urlparse将url分为6个部分,返回一个包含6个字符串项目的元组:协议、位置、路径、参数、查询、片段。123import urlparseurl_change = urlparse.urlparse('https://i.cnblogs.com/EditPosts.aspx?opt...转载 2018-07-09 20:11:52 · 569 阅读 · 0 评论 -
python __str__和__repr__
__str__和__repr__如果要把一个类的实例变成 str,就需要实现特殊方法__str__():class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self): ...转载 2018-07-09 13:54:45 · 212 阅读 · 0 评论 -
Python的hasattr() getattr() setattr() 函数使用方法详解
hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False。需要注意的是name要用括号括起来 1 >>> class test(): 2 ... name="xiaohua" 3 ... def run(self): 4 ... re...转载 2018-07-09 09:26:40 · 127 阅读 · 0 评论 -
python爬虫 — 爬取豆瓣最受关注图书榜
一个简单的爬取豆瓣最受关注图书榜的小爬虫,在爬取相关信息后,将结果保存在 mongo 中整个流程分为以下几步:(1)构造url(2)分析网页(3)编写程序,提取信息解析,将分别介绍以上几步一 构造url首先打开网页,可以看到下面的图片从图片中,可以看到其分为虚构类作品榜和非虚构类作品榜两个榜单,分别点击这两个榜单,可以看到其下面的变化非虚构类作品榜:虚构类作品榜:因此,根据这两个变化,可以构造相应...原创 2018-06-27 03:29:07 · 888 阅读 · 0 评论 -
python yield 和 return 对比分析
相同点:都是返回函数执行的结果不同点:return 在返回结果后结束函数的运行,而yield 则是让函数变成一个生成器,生成器每次产生一个值(yield语句),函数被冻结,被唤醒后再产生一个值例子:求一组数的平方值return 实现:def squre(n): ls = [i*i for i in range(n)] return lsfor i in squr...原创 2018-07-08 16:54:29 · 8619 阅读 · 2 评论 -
python爬虫— 拉勾网职位信息爬取
在上一篇对拉勾网url分析的基础上,这一篇开始爬取拉勾网上面的职位信息。既然,现在是使用的爬虫,那么就获取拉钩网上的爬虫工程师的职位的信息。上一篇的链接:python爬虫 —爬拉勾网python爬虫职位(一)(一)动工前分析 1.需要获取的信息:(1)职位名称(2)薪资(3)要求工作时间(4)岗位所在地点2.程序功能分析根据上面的分析,可以简单地将程序分为三个部分:(1)获取url, (2)获取职...原创 2018-06-18 22:56:09 · 584 阅读 · 0 评论 -
python爬虫 —爬拉勾网python爬虫职位(一)
爬虫可以简单的分为三个部分,url分析,网页分析与信息获取,信息存储。(1)url分析在进行爬取前,首先分析拉钩网的url特点。打开拉钩网,在搜索栏界面输入 python爬虫 然后进行搜索,得到如下界面然后,右键—查看源代码,会发现在源代码页面找不到职位的信息,可以猜想,网站使用的是其他的方法来加载信息的,比如,Ajax。接下来,右键—审查元素——Network选择xhr ,然后选择 name 下...原创 2018-06-17 22:14:21 · 654 阅读 · 0 评论