为您找到搜索结果:815个
python爬虫之scrapy的pipeline的使用
scrapy的pipeline是一个非常重要的模块,主要作用是将return的items写入到数据库、文件等持久化模块,下面我们就简单的了解一下pipelines的用法。案例一: items池classZhihuuserItem(scrapy.Item):#definethefieldsforyouritemherelike:#name=scrapy.Field()id=scrapy.Field()name=scrapy.Field()avatar_url=scrapy.Field()headline=scrapy.Field()description=scrapy.Field()url=scrapy.Field()url_token=scrapy.Field()gender=scrapy.Field()cover_url=scrapy.Field()type=scrapy.Field()badge=scrapy.Field()answer_count=scrapy.Field()articles_count=scrapy.Field()commercial_question=scr...
python爬虫之初始scrapy
简介: Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的,也可以应用在获取API所返回的数据(例如 AmazonAssociatesWebServices )或者通用的网络爬虫。 创建项目:scrapystartprojectscrapy_test 编写Spider:#scrapygenspider项目名项目urlscrapygenspiderquotesquotes.toscrape.com 执行爬虫:scrapycrawlquotes 错误代码: UnicodeEncodeError:'gbk'codeccan'tencodecharacter'u2764'inposition11162:illegalmultibytesequence解决办法:importioimportsyssys.stdout=io.TextIOWrapper(...
python爬虫之Anaconda安装
Anaconda是一个用于科学计算的Python发行版,支持Linux,Mac,Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。进入下文之前,说明一下conda的设计理念——conda将几乎所...
python爬虫之scrapy安装(一)
Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。 Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。 Windows安装: 注意: 1、从上往下依次安装依赖包,.whl文件直接pip3install文件绝对路径和名字即可安装 2、注意你的pip版本,下载9.0以上版本。 Linux: 下面是介绍Centos6.5版本安装,注意yum源的配置。 安装依赖包。yuminstallpython3-devyuminstall-ypython-devpython-piplibxml2-devlibxslt1-devzlib1g-devlibffi-devlibssl-dev 检查pip版本是不是9.0.1[root@localhost/]#pip3--versionpip9.0.1fro...
python爬虫之redis环境简单部署
Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis与其他key-value缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。性能极高 –Redis能读的速度是110000次/s,写的速度是81000次/s。丰富的数据类型–Redis支持二进制案例的Strings,Lists,Hashes,Sets及OrderedSets数据类型操作。原子–Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。丰富的特性 –Redis还支持publish/subscribe,通知,key过期等等特性。Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redi...
python爬虫之Phantomjs安装和使用
PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引擎。它原生支持多种web标准:DOM操作,CSS选择器,JSON,Canvas以及SVG。 1、无UI界面的网站测试 2、屏幕快照 3、页面操作自动化 官方文档:http://phantomjs.org/api/command-line.html官方下载:http://phantomjs.org/download1、下载完成后放到自己喜欢的一个位置,然后进入bin文件夹,然后把这个路径添加到环境变量里面。 使用: 学习过Selenium的同学都知道webdriver.chrome(),使用谷歌浏览器打开爬取页面(或者是测试页面),如果是.PhantomJS()的话就直接省去了系统打开页面的步骤。browser=webdriver.Chrome()browser=webdriver.PhantomJS(service_args=SERVICE_ARGS) service_args=这里写的是参数,参数如下: 1、不加载图片 2、启用硬盘缓存SERVICE_ARGS=['--lo...
python爬虫之win7Mongod安装使用
1、下载地址:https://www.mongodb.com/download-center#community下载完成以后下一步下一步安装。 安装路径还需要建立一个数据库存储位置C:mongodbdatadb 2、添加环境变量,然后打开cmd执行如下命令告诉数据库数据存储位置。#mongod--dbpathC:mongodbdatadb然后测试一下是否成功: 执行上面的命令时候的cmd对话框先不要关闭,然后再打开一个cmd框输入mongodb:它告诉你已经连接上了,现在就可以执行mongodb的命令了 3、建立日志文件 4、配置成服务:因为我已经配置了环境变量所以直接敲mongod命令即可(注意:命令中的双引号放到cmd里面可就不一定了,需要手动更改,这里还可能有个问题,你是看不到MongoDB这个服务的,不过你使用netstartMongoDB这个命令启动后,就能看到了,但是报一个什么错误,你服务停掉后,直接修复,再启动服务器就可以了,我这是3.2的版本,原来3.0并没有发现这个问题)。#mongod--bind_ip0.0.0.0...
python爬虫之PyQuery的基本使用
PyQuery库也是一个非常强大又灵活的网页解析库,如果你有前端开发经验的,都应该接触过jQuery,那么PyQuery就是你非常绝佳的选择,PyQuery是Python仿照jQuery的严格实现。语法与jQuery几乎完全相同,所以不用再去费心去记一些奇怪的方法了。官网地址:http://pyquery.readthedocs.io/en/latest/jQuery参考文档: http://jquery.cuishifeng.cn/ 1、字符串的初始化frompyqueryimportPyQueryaspqhtml='''<div><ul><liclass="item-0">firstitem</li><liclass="item-1"><ahref="link2.html">seconditem</a></li><liclass="item-0active"><ahref="link3.html"><spanclass="bold">...
python爬虫之xpath的基本使用
一、简介 XPath是一门在XML文档中查找信息的语言。XPath可用来在XML文档中对元素和属性进行遍历。XPath是W3CXSLT标准的主要元素,并且XQuery和XPointer都构建于XPath表达之上。 参照二、安装pip3installlxml 三、使用 1、导入fromlxmlimportetree 2、基本使用fromlxmlimportetreewb_data="""<div><ul><liclass="item-0"><ahref="link1.html">firstitem</a></li><liclass="item-1"><ahref="link2.html">seconditem</a></li><liclass="item-inactive"><ahref="link3.html">thirditem</a></li><liclass="item-1"><...
python爬虫之git的使用(windows下pycharm使用)
相信很多同学学会了git或者github以后都不知道怎么跟windows上的pycharm连在一起工作,那么下面我们开始介绍简单的安装和使用方法。一、安装 1、首先你的有一个github的账户。注册什么的就不在这里说了,百度一大片。 2、配置pycharm的github信息,一定要点击test测试。 下载地址:https://git-for-windows.github.io/ 下载git的安装包,下载完成以后下一步下一步的安装完成即可。 3、我使用的是默认路径安装,C:ProgramFilesGitin 测试成功 它提示你需要创建一个版本库,项目名称不能是汉字,否则报错。 它问你要同步哪些文件到github上 提示成功 我们登录远程github查看,发现已经同步上去了。 三、验证 我们在远程github上查看一下信息 然后我们在本地更改一下文件内容,git的基本使用方法,在这里我就不在叙述,可以看我前几篇关...
python爬虫之git的团队协作
一、Git实践: commit,push,pull,status,add基本是最常用的几个命令。 1、首先我在github上创建了一个项目,然后我在本地的文件建立了一个普通的目录(git_data)。使用gitclone命令将github远程仓库在本地克隆出一个本地仓库。 2、接着,既然是项目可能不是一个人完成的,另外一个人在自己的普通目录里(data_git)gitclone(克隆)一个本地仓库,这样的话在两个地方都有一个同样的本地仓库 3、然后,我在本地更改文件内容,使用add,commit,push命令将更改推到远程github仓库。 4、接着,我在另外一个本地仓库(data_git)使用gitpull拉下远程仓库github的更新。这样的话以后我们就是在本地直接gitpull往下拉远程仓库的更新。 5、怎么分辨两个本地仓库谁是谁呢?直接在本地仓库里面修改本地目录配置(vi.git/config)修改跟人信息,如下图: 6、以后我们上班第一件事情就是gitstatus查看状态(保证你先gitpull更新了远程仓库的代码) 7、commit描述的内容尽量写清楚,...
python爬虫之git的使用(origin说明)
1、首先我们回忆两个命令#gitremoteaddorigin 远程仓库链接#gitpush-uoriginmaster 我们一起看看这个命令,git是git的一级命令,push就是下载,-u应该使用用账户验证maser就是分支的名字(前面我们说过),那么这个origin是个什么鬼? 大家看看下面的这个5毛钱图,就能发现,其实origin就是远程仓库的名称。 如果不相信在看看我的配置文件#vi.git/config2、那是怎么做出来的呢,首先我们应该在github上和coding.net上建立两个一模一样的远程仓库,然后什么东西都不要添加。我先随便找个普通文件夹,我这里是在linux根目录下做的操作,首先从github上gitclone(同步下来github建立好的仓库),然后本地仓库就也有了跟github一样的仓库。前面的操作的让github的别名就是origin,但我想让coding.net上也有一份一模一样的“副本”,然后我让coding.net上的别名叫backup。这样看上面的文件配置就明白了。 2.1、首先,我把gith...
python爬虫之git的使用(coding.net的使用)
1、注册coding.net账号,然后登陆。2、创建项目 套路和github都一样。1.1、我们在远程仓库上创建了一个仓库,这样的话,我们需要在本地随便建立一个文件普通文件夹,进去以后,执行gitclone链接这个命令,就可以把远程仓库的版本库同步下来。 1.2、然而我们在使用的时候,一般情况下都是在远程仓库创建一个项目以后,直接同步到本地Git测试,使用gitclone链接这个命令即可(建立一个普通文件夹执行命令就能把远程仓库同步下来): 注意: 上传(你的首先告诉Git你要上传到什么位置): #gitremoteaddoriginhttps://git.coding.net/MrLHD/git_test.git #gitpush-uoriginmaster 下载(下载则直接告诉Git从哪下载即可): #gitclonehttps://git.coding.net/MrLHD/git_test.git 一般情况下,我们都是在github或者coding.net...
python爬虫之git的使用(github的使用)
上面博文中我们简单的了解了一下基本的git操作,但是我们都是将代码放到了本地的仓库里面,但是如果我们是一个团队开发的话,肯定不会放到每个人的本地,必须得有个统一的地方存放代码,国外的大家都在使用github,很多的开源项目都在github上面,但是这个使用起来呢一是得翻墙,二是公开的仓库是免费的,私有的(不公开)是需要花钱的,如果是个人项目是可以使用,但是如果是商业项目就不合适了。conding.net是国内很多公司和个人都在使用的仓库,好处是一不用翻墙,而是私有的仓库也是不用花钱的,商业项目可以放上去。 github: 注册就不在这里熬述了,百度一搜一大堆。 创建一个仓库 连接github远程服务器1、第一条命令告诉了本地git远程仓库的的地址是多少2、第二条吃才是往远程仓库同步代码。 #这里出现了一点小插曲 #yuminstallcurl-devel然后重新编译安装git即可 将以https的方式访问github的链接写入配置文件中#gitremoteaddorig...
python爬虫之git的使用
一、简单认识:1、初始化文件夹为版本控制文件夹,首先建立一个文件夹,进入这个文件夹以后输入gitinit初始化这个文件夹。2、Git几种位置概念1、本地代码:本地更改完代码以后,虽然是存放在git的文件夹里面,但是没有添加到待提交列表里面。2、待提交列表:执行完gitadd文件名,但是未执行gitcommit-m‘说明’命令的状态。3、本地仓库:git会在本地建立一个本地的仓库,执行完gitcommit以后会提交到本地仓库里面。4、远程仓库:例如Github、coding.net之类的远程仓库。 1、本地代码状态:2、待提交列表(需要提交的改动):3、本地仓库(将待提交列表的文件提交到本地仓库)4、查看本地仓库的文件,commit:是当前提交改动的唯一值,这个值是随机生成的。Author:前一篇博文中讲到的全局配置或者本地目录配置里面的用户参数。Date:提交更改的详细时间。底下的就是提交时候-m写的改动描述,这个越详细越好,方便其他人阅读。 5、流转过程: 二、详细使用1、初始化当前...