dmoz

使用Python的Scrapy框架编写web爬虫的简单示例

三世轮回 提交于 2020-04-07 04:53:55
在这个教材中,我们假定你已经安装了Scrapy。假如你没有安装,你可以参考这个 安装指南 。 我们将会用 开放目录项目(dmoz) 作为我们例子去抓取。 这个教材将会带你走过下面这几个方面: 创造一个新的Scrapy项目 定义您将提取的Item 编写一个 蜘蛛 去抓取网站并提取 Items 。 编写一个 Item Pipeline 用来存储提出出来的Items Scrapy由 Python 写成。假如你刚刚接触Python这门语言,你可能想要了解这门语言起,怎么最好的利用这门语言。假如你已经熟悉其它类似的语言,想要快速地学习Python,我们推荐 这种深入方式学习Python 。假如你是新手,想从开始使用Python学习,可以尝试去看看非程序员 Python资源列表 。 创造一个项目 在你要抓取之前,首先要建立一个新的Scrapy项目。然后进去你的存放代码目录,执行如下命令。 scrapy startproject tutorial 它将会创建如下的向导目录: 复制代码 代码如下: tutorial/ scrapy.cfg tutorial/ __init__.py items.py pipelines.py settings.py spiders/ __init__.py ... 这是一些基本信息: scrapy.cfg: 项目的配置文件。 tutorial/:

Scrapy入门教程

那年仲夏 提交于 2020-01-26 08:27:21
关键字: scrapy 入门教程 爬虫 Spider 作者: http://www.cnblogs.com/txw1958/ 出处: http://www.cnblogs.com/txw1958/archive/2012/07/16/scrapy-tutorial.html 在这篇入门教程中,我们假定你已经安装了Scrapy。如果你还没有安装,那么请参考 安装指南 。 我们将使用开放目录项目(dmoz)作为抓取的例子。 这篇入门教程将引导你完成如下任务: 创建一个新的Scrapy项目 定义提取的Item 写一个Spider用来爬行站点,并提取Items 写一个Item Pipeline用来存储提取出的Items Scrapy是由Python编写的。如果你是Python新手,你也许希望从了解Python开始,以期最好的使用Scrapy。如果你对其它编程语言熟悉,想快速的学习Python,这里推荐 Dive Into Python 。如果你对编程是新手,且想从Python开始学习编程,请看下面的 对非程序员的Python资源列表 。 新建工程 在抓取之前,你需要新建一个Scrapy工程。进入一个你想用来保存代码的目录,然后执行: Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp.

Dmoz/Monster algorithme to calculate count of each category and sub category?

时间秒杀一切 提交于 2020-01-06 06:13:24
问题 I have to create a browse page like monter.com or dmoz directory. My problem is the counts for each category. What's the best practive to do a similar thing? I am using PHP/MySQL Thx! 回答1: Did you try to implement it the way that you calculate these numbers dynamically when the page loads? How do you know that it is indeed a performance issue? Calculations are pretty fast these days. Otherwise put a counter field next to each (sub-)category. When inserting(/deleting) a new post, then you

Dmoz/Monster algorithme to calculate count of each category and sub category?

廉价感情. 提交于 2020-01-06 06:12:46
问题 I have to create a browse page like monter.com or dmoz directory. My problem is the counts for each category. What's the best practive to do a similar thing? I am using PHP/MySQL Thx! 回答1: Did you try to implement it the way that you calculate these numbers dynamically when the page loads? How do you know that it is indeed a performance issue? Calculations are pretty fast these days. Otherwise put a counter field next to each (sub-)category. When inserting(/deleting) a new post, then you

scrapy-redis使用详解

☆樱花仙子☆ 提交于 2020-01-05 05:24:08
描述: 1.使用两台机器,一台是win10,一台是centos7,分别在两台机器上部署scrapy来进行分布式抓取一个网站 2.centos7的ip地址为192.168.1.112,用来作为redis的master端,win10的机器作为slave 3.master的爬虫运行时会把提取到的url封装成request放到redis中的数据库:“dmoz:requests”,并且从该数据库中提取request后下载网页,再把网页的内容存放到redis的另一个数据库中“dmoz:items” 4.slave从master的redis中取出待抓取的request,下载完网页之后就把网页的内容发送回master的redis 5.重复上面的3和4,直到master的redis中的“dmoz:requests”数据库为空,再把master的redis中的“dmoz:items”数据库写入到mongodb中 6.master里的reids还有一个数据“dmoz:dupefilter”是用来存储抓取过的url的指纹(使用哈希函数将url运算后的结果),是防止重复抓取的 安装redis( http://blog.fens.me/linux-redis-install/ ) windows安装redis 下载地址: https://github.com/rgl/redis/downloads

『Scrapy』爬虫框架入门

我的未来我决定 提交于 2020-01-02 14:35:32
框架结构 引擎:处于中央位置协调工作的模块 spiders:生成需求url直接处理响应的单元 调度器:生成url队列(包括去重等) 下载器:直接和互联网打交道的单元 管道:持久化存储的单元 框架安装 一般都会推荐pip,但实际上我是用pip就是没安装成功,推荐anaconda,使用conda install scarpy来安装。 scarpy需要使用命令行,由于我是使用win,所以还需要把scarpy添加到path中,下载好的scarpy放在anaconda的包目录下,找到并添加。 框架入门 创建项目 在开始爬取之前,您必须创建一个新的Scrapy项目。 进入您打算存储代码的目录中,运行下列命令: scrapy startproject tutorial 该命令将会创建包含下列内容的 tutorial 目录,这个目录会创建在当前cmd的工作目录下: tutorial/ scrapy.cfg tutorial/ __init__.py items.py pipelines.py settings.py spiders/ __init__.py ... 这些文件分别是: scrapy.cfg : 项目的配置文件 tutorial/ : 该项目的python模块。之后您将在此加入代码。 tutorial/items.py : 项目中的item文件. tutorial/pipelines

Python-Scrapy创建第一个项目

狂风中的少年 提交于 2020-01-02 14:35:17
创建项目 在开始爬取之前,您必须创建一个新的Scrapy项目。进入您打算存储代码的目录中,运行下列命令: scrapy startproject tutorial 该命令行将会创建包含下列内容的 tutorial 目录: tutorial/ scrapy.cfg tutorial/ __init__.py items.py pipelines.py settings.py spiders/ __init__.py ... 这些文件分别是: scrapy.cfg:项目的配置文件 tutorial:该项目的python模块。之后您将在此加入代码。 tutorial/items.py:项目中的item文件。 tutorial/pipelines.py:项目中的pipelines文件。 tutorial/spiders/:放置spider代码的目录。 定义Item Item是保存爬取到的数据的容器:其使用方法和python字典类似,并且提供了额外保护机制来避免拼写错误导致的未定义字段错误。 类似在ORM中做的一样,你可以通过创建一个 scrapy.Item 类,并且定义类型为 scrapy.Field 的类属性来定义一个Item。 首先根据需要从dmoz.org获取到的数据对item进行建模。我们需要从dmoz中获取名字,url,以及网站的描述。对此,在item中定义相应的字段。编辑

Python+Scrapy爬取数据简单实例

荒凉一梦 提交于 2019-12-08 21:45:34
Python爬取数据 Scrapy安装 Scrapy简介及win下安装 Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据 ——百度百科 scapy安装+wins 以下所有软件在win下面安装方式相似,且都要对应python版本及win的操作系统位数。有的软件依赖其他软件,所以要先安装依赖。 第一步:安装pywin32(Windows Pywin32允许你像VC一样的形式来使用PYTHON开发win32应用),从 http://sourceforge.net/projects/pywin32/files/ 下载对应python版本与操作系统位数的pywin32.双击安装即可(exe安装方式) 第二步:安装twisted前,先安装它的依赖。Zope.Interface : https://pypi.python.org/pypi/zope.interface#downloads 安装方式如上。安装pyopenssl: https://pypi.python.org/simple/pyopenssl/ 最后安装 http://twistedmatrix.com/Releases/Twisted/14.0/ 第三步:安装lxml: https://pypi.python.org/pypi/lxml/3.4.0 第四步:安装

python scrapy简介

被刻印的时光 ゝ 提交于 2019-12-08 21:30:44
scrapy基础 scrapy是用python写的一个库,使用它可以方便的抓取网页。 主页地址 http://scrapy.org/ 文档 http://doc.scrapy.org/en/latest/index.html 安装 sudo pip install scrapy 一个简单的教程 http://doc.scrapy.org/en/latest/intro/tutorial.html 如果你对这些概念有了解,使用上面的教程会比较容易. 它们是json, xpath, 正则表达式, 生成项目 scrapy提供一个工具来生成项目,生成的项目中预置了一些文件,用户需要在这些文件中添加自己的代码。 打开命令行,执行:scrapy startproject tutorial,生成的项目类似下面的结构 tutorial/ scrapy.cfg tutorial/ __init__.py items.py pipelines.py settings.py spiders/ __init__.py ... scrapy.cfg是项目的配置文件 用户自己写的spider要放在spiders目录下面,一个spider类似 from scrapy.spider import BaseSpider class DmozSpider(BaseSpider): name = " dmoz "

零基础写python爬虫之使用Scrapy框架编写爬虫

此生再无相见时 提交于 2019-12-08 21:02:01
网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据。虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间。Scrapy是一个使用 Python 编写的,轻量级的,简单轻巧,并且使用起来非常的方便。使用Scrapy可以很方便的完成网上数据的采集工作,它为我们完成了大量的工作,而不需要自己费大力气去开发。 首先先要回答一个问题。 问:把网站装进爬虫里,总共分几步? 答案很简单,四步: 新建项目 (Project):新建一个新的爬虫项目 明确目标(Items):明确你想要抓取的目标 制作爬虫(Spider):制作爬虫开始爬取网页 存储内容(Pipeline):设计管道存储爬取内容 好的,基本流程既然确定了,那接下来就一步一步的完成就可以了。 1.新建项目(Project) 在空目录下按住Shift键右击,选择“在此处打开命令窗口”,输入一下命令: 代码如下: scrapy startproject tutorial 其中,tutorial为项目名称。 可以看到将会创建一个tutorial文件夹,目录结构如下: 代码如下: tutorial/ scrapy.cfg tutorial/ __init__.py items.py pipelines.py settings.py spiders/ __init__.py ...