![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
fishineye
这个作者很懒,什么都没留下…
展开
-
Scrapy:reuqest.meta 的用法
scrapy.meta 简介scrapy.meta 是 scrapy 中 Reuqest 的元数据字典,为 dict 类型; scrapy.meta 在 scrapy 中用于给框架中 其他组件 和 响应处理函数 传递参数信息; 作为一个 python 字典,meta 有一个 get 方法,当第二个参数是一个默认值时,在第一个参数不在字典中的情况下发生,如果不存在第二个参数同时第一个参数又不存在字典中,则会引发 KeyError 异常;例如:对于 request.meta.get('meta_ke转载 2020-07-17 09:58:40 · 1915 阅读 · 0 评论 -
一起学爬虫——如何爬取通过ajax加载数据的网站
目前很多网站都使用ajax技术动态加载数据,和常规的网站不一样,数据时动态加载的,如果我们使用常规的方法爬取网页,得到的只是一堆html代码,没有任何的数据。请看下面的代码:url = 'https://www.toutiao.com/search/?keyword=美女'headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0原创 2020-07-16 13:12:35 · 469 阅读 · 0 评论 -
python实现scrapy定时执行爬虫
项目需要程序能够放在超算中心定时运行,于是针对scrapy写了一个定时爬虫的程序main.py,直接放在scrapy的存储代码的目录中就能设定时间定时多次执行。最简单的方法:直接使用Timer类import timeimport oswhile True: os.system("scrapy crawl News") time.sleep(86400) #每隔一天运行一次 24*60*60=86400s或者,使用标准库的sched模块import sched#初始...转载 2020-07-14 16:52:51 · 1936 阅读 · 0 评论 -
Python 定时任务的实现方式
本文转载自:https://lz5z.com/Python%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1%E7%9A%84%E5%AE%9E%E7%8E%B0%E6%96%B9%E5%BC%8F/背景目前所在的项目组需要经常执行一些定时任务,之前都是用 Node.JS 的cron来实现 schedule job。可是这次需要连接不同的 DB,而且实现的逻辑也有些许不同,于是选择使用 Python 的定时器。Python 实现定时任务循环 sleep这种.转载 2020-07-14 09:26:15 · 182 阅读 · 0 评论 -
django--关于部署scrapyd项目报错问题
首先在同步两篇之前写过的博客,可能能用得到1、https://www.cnblogs.com/lutt/p/10893192.html2、https://www.cnblogs.com/lutt/p/10895317.html在上述操作的过程中,在执行命令:scrapyd-deploy时遇报错:/usr/local/bin/scrapyd-deploy:23: ScrapyDeprecationWarning: Module `scrapy.utils.http` is deprecated,转载 2020-07-13 10:02:13 · 1037 阅读 · 1 评论 -
简单创建scrapy项目并生成egg包
针对scrapyd 的上传版本 这一API中的参数:project 工程名 version 版本名 egg egg包1.首先创建一个scrapy项目,通过命令scrapy startproject 项目名2.一直按同名目录进去,找到spider目录,创建一个.py文件,写入(来自https://docs.scrapy.org/en/latest/intro/overview.html)import scrapyclass QuotesSpider(scrapy.Spider): n..转载 2020-07-12 16:56:18 · 995 阅读 · 0 评论 -
安装scrapyd-client后无法使用scrapyd-deploy
在windows中,使用pip install scrapyd-client命令安装scrapyd-client成功后,输入scrapyd-deploy命令后却无法运行,报错如下:$ scrapyd-deploy -hbash: /c/Program Files (x86)/Python37-32/Scripts/scrapyd-deploy:c:\program: bad interpreter: No such file or directory其中/c/Program Files (x86.转载 2020-07-12 16:50:00 · 382 阅读 · 0 评论 -
使用scrapy爬取名人名言的pipelines和settings代码
爬取网站:http://quotes.toscrape.com/pipelines.py# -*- coding: utf-8 -*-# Define your item pipelines here## Don't forget to add your pipeline to the ITEM_PIPELINES setting# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.htmlimport pymong.原创 2020-07-11 10:29:54 · 505 阅读 · 0 评论 -
python之crawlspider初探
注意点:""" 1、用命令创建一个crawlspider的模板:scrapy genspider -t crawl <爬虫名> <all_domain>,也可以手动创建 2、CrawlSpider中不能再有以parse为名字的数据提取方法,这个方法被CrawlSpider用来实现基础url提取等功能 3、一个Rule对象接受很多参数,首先第一个是包含url规则的LinkExtractor对象, 常有的还有cal原创 2020-07-04 10:10:54 · 180 阅读 · 0 评论 -
新版 Scrapy 中 sys.conf.settings 的替代方法
在 scrapy 项目目录下,有个 settings.py 文件,此文件是用来存放爬虫项目的各种配置,比如说 MongoDB 的服务器、端口号、数据库名等配置信息。既然是配置信息,就需要在别的文件中引用。比如在 settings.py 文件中增加了如下内容:MONGODB_HOST='127.0.0.1'MONGODB_PORT=27017MONGODB_DBNAME='maitian'MONGODB_DOCNAME='zufang'而在 pipelins.py 中想要...转载 2020-07-03 15:55:02 · 288 阅读 · 0 评论 -
爬虫scrapy框架--log日志输出配置及使用
1、在配置文件中设置日志输出文件名和日志等级1、为什么以日期为文件名?因为这样可以方便开发者查看每天的日志信息,同时也可以防止单文件log日志信息堆积的越来越多,所以将当天日志信息保存到当天的日志文件中2、配置选项有日志等级LOG_LEVEL、日志文件路径LOG_FILE,我这里设置等级为WARNING2、在程序中导入logging模块,对需要输出的内容进行log日志输出我配置的时候用了WARNING等级,那么我将100个1和这是一个异常定义为WARNING输出的时候(logging转载 2020-07-02 16:43:27 · 1122 阅读 · 0 评论 -
(python)Xpath如何提取html标签(HTML标签和内容)
问题: (python)Xpath如何提取html标签(HTML标签和内容)描述:<div> <table> <tr> <td>Row value 1</td> <td>Row value 2</td> </tr> <tr> <td>Row value 3</td> ...原创 2020-06-23 16:19:39 · 2966 阅读 · 0 评论 -
Python爬虫三:抓取链家已成交二手房信息(58W数据)
环境:Windows7+python3.6+Pycharm2017目标:抓取链家北京地区已成交二手房信息(无需登录),如下图,户型、朝向、成交时间价格等,保存到csv。最后一共抓取约58W数据,程序运行8h。---全部文章:京东爬虫、链家爬虫、美团爬虫、微信公众号爬虫、字体反爬、Django笔记、阿里云部署、vi\vim入门----一、打开北京二手房网页https://bj.lianjia.com/ershoufang/,默认显示的是在售二手房信息,一共45634套,但是只显示了100页..转载 2020-06-23 14:43:04 · 8270 阅读 · 1 评论 -
PyQt5 系统托盘图标和消息通知
参考官网资料和其他个人的博客我做了个这样的例子class window(QWidget): def __init__(self, parent=None): super(window, self).__init__(parent) ti = TrayIcon(self) ti.show()首先创建一个空窗口用来测试,TrayIcon就是我继承来自QSystemTrayIcon显示系统托盘图标的类。import sysfrom PyQ转载 2020-06-08 13:00:12 · 1652 阅读 · 1 评论 -
Pycharm安装pyqt5/pymysql
前言python有很多界面库,博主研究过一段时间Qt,所以选择pyqt5作为python的界面,本文介绍pyqt的安装过程!pyqt的安装安装pyqt5pip install --user pyqt5==5.12.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/ 本文安装的pyqt5版本为5.12.1版本,实际中可以使用pip install pyqt5安装最新版的pyqt5,但是会出现如下错误:# spyder 3.3.6需要 pyqtwe...原创 2020-06-08 11:20:03 · 505 阅读 · 0 评论 -
Python:PyQt 系统托盘
import sys#从PyQt库导入QtWidget通用窗口类,基本的窗口集在PyQt5.QtWidgets模块里.from PyQt5.QtWidgets import QApplication, QWidget,QSystemTrayIcon,QAction,QMenu,qApp,QMessageBoxfrom PyQt5.QtGui import QIconfrom PyQt5.QtCore import QCoreApplicationif __name__ == '__main...转载 2020-06-08 10:16:34 · 728 阅读 · 0 评论 -
pyqt5之登录界面
#!/usr/bin/python3#coding:utf-8from PyQt5.QtWidgets import *import sysclass LoginDlg(QDialog): def __init__(self, parent=None): super(LoginDlg, self).__init__(parent) usr = QLabel("用户:") pwd = QLabel("密码:") self.us...转载 2020-06-08 09:49:24 · 318 阅读 · 0 评论 -
notepad++正则表达式替换字符串详解
正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它 能很好提高工作效率。EditPlus的查找,替换,文件中查找支持以下的正则表达式:表达式 说明\t 制表符.\n 新行.. 匹配任意字符.| 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc".[] 匹配列表之中的任何单个字符.例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字.[^.转载 2020-06-02 15:40:06 · 1086 阅读 · 0 评论 -
docker安装redis-dump工具
离线安装redis-dump工具1 场景和问题1.1 redis-dump工具作用 redis-dump可以将redis数据库中的各个slot中的数据导出到文本中,方便迁移备份数据;1.1 为什么采用redis-dump容器的方式 使用普通的物理机直接安装redis-dump工具,需要下载各种各样的依赖,相对都比较麻烦(例如安装ruby2.2以上版本的依赖),各种rvm依赖包的安装; 使用docker容器单间redis-dump,直接下载依赖安装更简单;2.下载安装redis-du转载 2020-05-30 23:16:39 · 611 阅读 · 0 评论 -
selenium,Python3滚动到页面底部的几种解决方案
在用selenium获取页面时,很多时候需要将滚动条拖到页面底部,下面总结了几种方法.目录location_once_scrolled_into_view ActionChains js方法scrollIntoView js方法scrollBy send_keys(Keys.END)模拟向页面发送空格键 页面为ajax动态加载location_once_scro...转载 2020-04-29 14:21:18 · 3345 阅读 · 0 评论 -
Eclipse和PyDev搭建python开发环境
2014-07-071.1总体目标本文档作为python学习者的入门教程,通过本教程可以了解python用途、语法、在实际工作中的应用。Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python在执行时,首先会转载 2015-08-31 15:31:22 · 2186 阅读 · 0 评论 -
eclipse+pydev 安装和配置
2013-06-30 23:34:51分类: Python/RubyPyDev 安装和配置安装 PyDev在安装 PyDev 之前,要保证您已经安装了 Java 1.4 或更高版本、Eclipse 以及 Python。接下来,开始安装 PyDev 插件。启动 Eclipse,利用 Eclipse Update Manager转载 2015-08-31 16:46:06 · 1635 阅读 · 0 评论 -
windows下python配置numpy、matplotlib、scipy
时间 2014-06-06 19:51:47 CSDN博客原文 http://blog.csdn.net/wmonica121/article/details/28910559主题 NumPy SciPy Windows这两天对Python进行了研究,并且配置了numpy、matplotlib以及scipy。现对基本概念以及配置步骤介绍:基本概念:转载 2015-08-31 09:30:30 · 1216 阅读 · 0 评论 -
【教程】七步精通Python机器学习
【教程】七步精通Python机器学习 2015-12-23 16:45:32开始。这是最容易令人丧失斗志的两个字。迈出第一步通常最艰难。当可以选择的方向太多时,就更让人两腿发软了。 从哪里开始? 本文旨在通过七个步骤,使用全部免费的线上资料,帮助新人获取最基本的 Python 机器学习知识,直至成为博学的机器学习实践者。这篇概述的主要转载 2016-04-11 11:02:32 · 474 阅读 · 0 评论 -
十分钟搞定pandas
本文是对pandas官方网站上《10 Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook 。习惯上,我们会按下面格式引入所需要的包:一、 创建对象可以通过 Data Structure Intro Setion 来查看有关该节内容的详细信息。1、可以通过传递一个list转载 2016-04-11 15:04:04 · 316 阅读 · 0 评论 -
numpy中多维数组的轴(axis)
多维数组的轴(axis=)是和该数组的size(或者shape)的元素是相对应的;>>> np.random.seed(123)>>> X = np.random.randint(0, 5, [3, 2, 2])>>> print(X)[[[5 2] [4 2]] [[1 3] [2 3]] [[1 1] [0 1]]]>>> X.sum(axis=0)arr转载 2016-10-13 13:58:02 · 8289 阅读 · 1 评论 -
用Python开始机器学习(1:配置windows平台)
使用机器学习的开发工具很多,如Matlab,R语言,Python等等。本系列文章不会涉及深入的机器学习原理,旨在让你迅速上手,入门Python进行机器学习。本文提供一系列资源,教你打造一个Python机器学习的平台。1、下载资源Python本文以Python 3.4为例。当然你可以使用老版本。老版本的一个优势是扩展库比较多。链接:转载 2017-04-07 09:40:37 · 393 阅读 · 0 评论 -
用Python开始机器学习(2:决策树分类算法)
从这一章开始进入正式的算法学习。首先我们学习经典而有效的分类算法:决策树分类算法。1、决策树算法决策树用树形结构对样本的属性进行分类,是最直观的分类算法,而且也可以用于回归。不过对于一些特殊的逻辑分类会有困难。典型的如异或(XOR)逻辑,决策树并不擅长解决此类问题。决策树的构建不是唯一的,遗憾的是最优决策树的构建属于NP问题。因此如何构建一棵好的决策树是研究的重点。J. Ros转载 2017-04-07 09:41:30 · 352 阅读 · 0 评论 -
用Python开始机器学习(3:数据拟合与广义线性回归)
机器学习中的预测问题通常分为2类:回归与分类。简单的说回归就是预测数值,而分类是给数据打上标签归类。本文讲述如何用Python进行基本的数据拟合,以及如何对拟合结果的误差进行分析。本例中使用一个2次函数加上随机的扰动来生成500个点,然后尝试用1、2、100次方的多项式对该数据进行拟合。拟合的目的是使得根据训练数据能够拟合出一个多项式函数,这个函数能够很好的拟合现有数据,并转载 2017-04-07 09:42:48 · 629 阅读 · 0 评论 -
用Python开始机器学习(4:KNN分类算法)
1、KNN分类算法KNN分类算法(K-Nearest-Neighbors Classification),又叫K近邻算法,是一个概念极其简单,而分类效果又很优秀的分类算法。他的核心思想就是,要确定测试样本属于哪一类,就寻找所有训练样本中与该测试样本“距离”最近的前K个样本,然后看这K个样本大部分属于哪一类,那么就认为这个测试样本也属于哪一类。简单的说就是让最相似的K个样本来投票决定转载 2017-04-07 09:43:59 · 466 阅读 · 0 评论 -
用Python开始机器学习(5:文本特征抽取与向量化)
假设我们刚看完诺兰的大片《星际穿越》,设想如何让机器来自动分析各位观众对电影的评价到底是“赞”(positive)还是“踩”(negative)呢?这类问题就属于情感分析问题。这类问题处理的第一步,就是将文本转换为特征。因此,这章我们只学习第一步,如何从文本中抽取特征,并将其向量化。由于中文的处理涉及到分词问题,本文用一个简单的例子来说明如何使用Python的机器学习库,对英文进行特征转载 2017-04-07 09:44:42 · 974 阅读 · 0 评论 -
用Python开始机器学习(6:朴素贝叶斯分类器)
朴素贝叶斯分类器是一个以贝叶斯定理为基础,广泛应用于情感分类领域的优美分类器。本文我们尝试使用该分类器来解决上一篇文章中影评态度分类。1、贝叶斯定理假设对于某个数据集,随机变量C表示样本为C类的概率,F1表示测试样本某特征出现的概率,套用基本贝叶斯公式,则如下所示:上式表示对于某个样本,特征F1出现时,该样本被分为C类的条件概率。那么如何用上式来对测试样本分类呢?举例来说,转载 2017-04-07 09:45:27 · 1755 阅读 · 0 评论 -
用Python开始机器学习(7:逻辑回归分类)
在本系列文章中提到过用Python开始机器学习(3:数据拟合与广义线性回归)中提到过回归算法来进行数值预测。逻辑回归算法本质还是回归,只是其引入了逻辑函数来帮助其分类。实践发现,逻辑回归在文本分类领域表现的也很优秀。现在让我们来一探究竟。1、逻辑函数假设数据集有n个独立的特征,x1到xn为样本的n个特征。常规的回归算法的目标是拟合出一个多项式函数,使得预测值与真实值的误差最小:转载 2017-04-07 09:46:43 · 1312 阅读 · 0 评论 -
用Python开始机器学习(8:SVM支持向量机)
SVM支持向量机是建立于统计学习理论上的一种分类算法,适合与处理具备高维特征的数据集。SVM算法的数学原理相对比较复杂,好在由于SVM算法的研究与应用如此火爆,CSDN博客里也有大量的好文章对此进行分析,下面给出几个本人认为讲解的相当不错的:支持向量机通俗导论(理解SVM的3层境界):http://blog.csdn.net/v_july_v/article/details/762转载 2017-04-07 09:47:34 · 609 阅读 · 0 评论 -
用Python开始机器学习(9:推荐算法之推荐矩阵)
每个人都会有这样的经历:当你在电商网站购物时,你会看到天猫给你弹出的“和你买了同样物品的人还买了XXX”的信息;当你在SNS社交网站闲逛时,也会看到弹出的“你可能认识XXX“的信息;你在微博添加关注人时,也会看到“你可能对XXX也感兴趣”;等等。所有这一切,都是背后的推荐算法运作的结果。最经典的关联规则算法是大名鼎鼎的Apriori算法,源自一个超市购物篮的故事:啤酒总是和尿布一起被购买。转载 2017-04-07 09:48:24 · 4186 阅读 · 0 评论 -
用Python开始机器学习(10:聚类算法之K均值)
我们之前接触的所有机器学习算法都有一个共同特点,那就是分类器会接受2个向量:一个是训练样本的特征向量X,一个是样本实际所属的类型向量Y。由于训练数据必须指定其真实分类结果,因此这种机器学习统称为有监督学习。然而有时候,我们只有训练样本的特征,而对其类型一无所知。这种情况,我们只能让算法尝试在训练数据中寻找其内部的结构,试图将其类别挖掘出来。这种方式叫做无监督学习。由于这种方式通常是将样本中转载 2017-04-07 09:49:22 · 490 阅读 · 0 评论 -
Python2到Python3代码的转换工具2to3.py
之前一直遇到Python2代码转到Python3代码的需求,最近才知道Python官方就有一个转换工具:2to3.py。 无论是Python官网下载安装的python还是利用Anaconda安装,目录都在{Python_HOME}\Tools\scripts里面。运行 2to3.py 脚本,打印如下:python 2to3.py --helpUsage: 2to3 [options] file|...转载 2018-02-27 11:22:47 · 701 阅读 · 0 评论 -
Windows下安装python2.7及科学计算套装
转载 时间:2015-03-05这篇文章主要向大家介绍的是在windows系统下安装python 2.7以及numpy安装、six安装、dateutil安装、pyparsing安装、matplotlib安装和scipy安装的方法,分享给大家,需要的小伙伴可以参考下,相对来说,windows下的安装还是比较简单的。安装环境及说明操作系统:64位win7以下所有转载 2015-08-31 09:44:44 · 532 阅读 · 0 评论