查看: 6724|回复: 0

Python爬虫框架Scrapy初识

[复制链接]

3

主题

3

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2018-12-3 10:59:41 | 显示全部楼层 |阅读模式
本帖最后由 wesley.chen 于 2018-12-3 11:06 编辑

Scrapy简介Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。
其最初是为了 页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。
详细教程可以查看Scrapy文档
Scrapy的安装scrapy需要运行在python2.7、python3.3或者更高的版本上。可先利用python -V 查看自己的python版本。

一般推荐使用pip进行安装(如果未安装pip,需要先安装pip)
pip install scrapy安装完成之后,输入:scrapy,当出现如下输出,说明安装完成:

备注:
scrapy以来的一些包
  • lxml:一种高效的XML和HTML解析器,
  • PARSEL:一个HTML / XML数据提取库,基于上面的lxml,
  • w3lib:一种处理URL和网页编码多功能辅助
  • twisted,:一个异步网络框架
  • cryptography and pyOpenSSL,处理各种网络级安全需求
以上包需要的最低版本:
  • Twisted 14.0
  • lxml 3.4
  • pyOpenSSL 0.14
创建项目在进行具体的爬取之前,我们需要先利用命令行创建项目
scrapy startproject qichacha输入命令后,出现以下提示,则代表创建成功

创建你的爬虫脚本我们可以利用一下命令快速创建你的爬虫模板
scrapy genspider qcc www.qichacha.com你可以看到如下目录结构:

然后开始就可以在qcc.py中开始我们的爬虫逻辑了。
一个简单的爬虫实例:
# -*- coding: utf-8 -*-import scrapy
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
from beianw.items import BeianwItem
class BeianSpider(scrapy.Spider):   
  name = 'beian'
  allowed_domains = ['www.beianw.com']
  start_urls = ['http://www.beianw.com/home/index/四川/1?t=2']

  def parse(self, response):
    company = response.css('.translist tr')
    for v in company:
      item = BeianwItem()
      item['website'] = v.css('td a::text').extract()[0]
      item['companyName'] = v.css('td::text').extract()[0]
      item['icpNo'] = v.css('td::text').extract()[2]
      item['icpDate'] = v.css('td::text').extract()[3]
      yield item
# 递归爬取下一页的内容
    next_page = response.css('.page-default a')
    maxpage = len(next_page.css('::text').extract()) -1
    if(next_page.css('::text').extract()[maxpage] == '下一页'):
      next_page_href = next_page.css('::attr(href)').extract()[maxpage]
      next_page = response.urljoin(next_page_href)
      yield scrapy.Request(next_page, callback=self.parse)


运行爬虫脚本
scrapy crawl qcc

提取数据
  • css选择器
  • xpath选择器
  • 正则


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表