Python Scrapy爬虫框架安装、配置及实践

近期研究业界安卓APP主要漏洞类型。wooyun算是国内最有名的漏洞报告平台,总结一下这上面的漏洞数据对后面测试与分析漏洞趋势有指导意义,因此写一个爬虫。

不再造轮子了,使用Python的Scrapy框架实现之。

一、安装

64位系统安装时,一定要注意Python的位数与Scrapy及其依赖库位数一致。否则各种坑爹Bug

  1. 安装32位Python 2.7
  2. 下载并安装pip(方便自动安装管理依赖库)

    https://pypi.python.org/pypi/pip/7.1.2

    下载源码,python setup.py install安装之

  3. pip install scrapy

    遇到问题1:ERROR: ‘xslt-config‘ 不是内部或外部命令,也不是可运行的程序

    下载个lxml-3.5.0b1.win32-py2.7.exe安装 ,

    https://pypi.python.org/pypi/lxml/3.5.0b1#downloads

  4. 运行demo代码

    遇到问题2:exceptions.ImportError: No module named win32api

    从http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/

    这里下载一下pywin32程序,安装之。

以上,框架安装完毕。

二、爬虫怎么写

爬wooyun网站漏洞的工程,目录结构如下:

修改items.py(抓取数据的容器):

# -*- coding:gb2312 -*-
import scrapy
from scrapy.item import Item, Field

class Website(scrapy.Item):
    url = Field()
    title = Field()

编写spider.py(顾名思义,主要功能这里实现):

# -*- coding:gb2312 -*-
from scrapy.spiders import CrawlSpider,Rule
from scrapy.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import Selector
from wooyun.items import Website
import sys

sys.stdout=open(‘output.txt‘, ‘wb‘)

class WooyunSpider(CrawlSpider):

    name = "wooyun"
    allowed_domains = ["wooyun.org"]
    start_urls = [
        "http://wooyun.org/bugs/",
    ]

    rules = (
        Rule(SgmlLinkExtractor(allow=(‘bugs/page/([\w]+)‘, ),)),
        #http://wooyun.org/bugs/page/3

        Rule(SgmlLinkExtractor(allow=(‘bugs/wooyun-‘, )), callback=‘parse_item‘),
    )

    def parse_item(self, response):
        sel = Selector(response)
        items = []
        item = Website()
        item[‘title‘] = sel.xpath(‘/html/head/title/text()‘).extract()
        item[‘url‘] = response
        items.append(item)
        return items

以上爬取所有漏洞名称,及url。功能根据需求扩展即可。

str1 = sel.xpath(‘//h3[@class="wybug_type"]/text()‘).extract()
    ‘‘‘
    str1 = "漏洞类型:    设计缺陷/逻辑错误"
    ‘‘‘
时间: 2024-10-13 18:14:32

Python Scrapy爬虫框架安装、配置及实践的相关文章

Python之Scrapy爬虫框架安装及简单使用

题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中. 其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫. 本文档将

Python Scrapy爬虫框架之初次使用

本案例来自小甲鱼的课程 关于Scrapy的安装网上都有方法,这里便不再叙述. 使用Scrapy抓取一个网站一共需要四个步骤: 0.创建一个Scrapy项目: 1.定义Item容器: 2.编写爬虫: 3.存储内容. 本次爬取的目标是全球最大的目录网站http://www.dmoztools.net,由于此网站数据过于庞大,我们这里只拿它的两个子网页做测试(手动捂脸) http://www.dmoztools.net/Computers/Programming/Languages/Python/Bo

python - scrapy 爬虫框架(创建, 持久化, 去重, 深度, cookie)

## scrapy 依赖 twisted  - twisted 是一个基于事件循环的 异步非阻塞 框架/模块 ##  项目的创建  1. 创建 project scrapy startproject 项目名称 项目名称(项目结构) - spiders # 爬虫文件 - q.py - w.py - items.py # 持久化 - pipelines # 持久化 - middlewares.py # 中间件 - settings.py # 配置文件(爬虫) scrapy.cfg # 配置文件(部署

一个咸鱼的python爬虫之路(五):scrapy 爬虫框架

介绍一下scrapy 爬虫框架 安装方法 pip install scrapy 就可以实现安装了.我自己用anaconda 命令为conda install scrapy. 1 Engine从Spider处获得爬取请求(Request)2Engine将爬取请求转发给Scheduler,用于调度 3 Engine从Scheduler处获得下一个要爬取的请求4 Engine将爬取请求通过中间件发送给Downloader5 爬取网页后,Downloader形成响应(Response)通过中间件发给En

Python爬虫进阶三之Scrapy框架安装配置

初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 Win7,首先,你要有Python,我用的是2.7.7版本,Python3相仿,只是一些源文件不同. 官网文档:http://doc.scrapy.org/en/latest/intro/install.html,最权威哒,下面是我的亲身体验过程. 1.安装Python 安装过程我就不多说啦,我的电

Python爬虫进阶之Scrapy框架安装配置

Python爬虫进阶之Scrapy框架安装配置 初级的爬虫我们利用urllib和urllib2库以及正则表达式就可以完成了,不过还有更加强大的工具,爬虫框架Scrapy,这安装过程也是煞费苦心哪,在此整理如下. Windows 平台: 我的系统是 Win7,首先,你要有Python,我用的是2.7.7版本,Python3相仿,只是一些源文件不同. 官网文档:http://doc.scrapy.org/en/latest/intro/install.html,最权威哒,下面是我的亲身体验过程. 1

Python爬虫进阶二之PySpider框架安装配置

关于 首先,在此附上项目的地址,以及官方文档 PySpider 官方文档 安装 1. pip 首先确保你已经安装了pip,若没有安装,请参照 pip安装 2. phantomjs PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速.原生支持各种Web标准:DOM 处理.CSS 选择器.JSON.Canvas 和 SVG. PhantomJS 可以用于页面自动化.网络监测.网页截屏以及无界面测试等. 安装 以上附有官方安

Python爬虫教程-31-创建 Scrapy 爬虫框架项目

本篇是介绍在 Anaconda 环境下,创建 Scrapy 爬虫框架项目的步骤,且介绍比较详细 Python爬虫教程-31-创建 Scrapy 爬虫框架项目 首先说一下,本篇是在 Anaconda 环境下,所以如果没有安装 Anaconda 请先到官网下载安装 Anaconda 下载地址:https://www.anaconda.com/download/ Scrapy 爬虫框架项目的创建 0.打开[cmd] 1.进入你要使用的 Anaconda 环境 1.环境名可以在[Pycharm]的[Se

Scrapy爬虫框架第一讲(Linux环境)

1.What is Scrapy? 答:Scrapy是一个使用python语言(基于Twistec框架)编写的开源网络爬虫框架,其结构清晰.模块之间的耦合程度低,具有较强的扩张性,能满足各种需求.(前面我们介绍了使用requests.beautifulsoup.selenium等相当于你写作文题,主要针对的是个人爬虫:而Scrapy框架的出现给了我们一个方便灵活爬虫程序架构,我们只需针对其中的组件做更改,即可实现一个完美的网络爬虫,相当于你做填空题!) 基于Scrapy的使用方便性,下面所有的S