码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-06-27 19:50:11      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

近期研究业界安卓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 = "漏洞类型:    设计缺陷/逻辑错误"
    ‘‘‘

 

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

标签:

原文地址:http://www.cnblogs.com/kiiim/p/5621258.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!