zoukankan      html  css  js  c++  java
  • 使用python在scrapy框架下制作一个简单的爬虫

    步骤:

    一,新建一个工程

    二,在工程中中新建一个爬虫项目,scrapy startproject  myspider

    scrapy startproject myspider #myspider为工程名,可根据自己需求更改

    三,切入到项目目录下,然后在项目中,新建一个爬虫spider。

    1 cd myspider #切入到项目目录下
    2 scrapy genspider itcast itcast.cn#新建一个爬虫

    四,在itcast.py中,编写爬取程序

     1 # -*- coding: utf-8 -*-
     2 import scrapy
     3 
     4 
     5 class ItcastSpider(scrapy.Spider):
     6     name = 'itcast'#爬虫名
     7     allowed_domains = ['itcast.cn']#允许爬取得范围
     8     start_urls = ['http://www.itcast.cn/channel/teacher.shtml']#最开始请求的url地址
     9 
    10     def parse(self, response):
    11         #处理start_url地址对应的响应
    12         # ret=response.xpath("//div[@class='tea_con']//h3/text()").extract()
    13         # print(ret)
    14 
    15         # li_list=response.xpath("//div[@class='tea_con']//li")
    16         # for li in li_list:
    17         #     item={}
    18         #     item["name"]=li.xpath(".//h3/text()").extract()[0]
    19         #     item["title"]=li.xpath(".//h4/text()").extract()[0]
    20         #     print(item)
    21 
    22 
    23         li_list = response.xpath("//div[@class='tea_con']//li")
    24         for li in li_list:
    25             item = {}
    26             item["name"] = li.xpath(".//h3/text()").extract_first()
    27             item["title"] = li.xpath(".//h4/text()").extract_first()
    28             # print(item)
    29             yield item   #将数据传给pipelines,使用生成器可以减小内存占用

    五,开启MyspiderPipeline之前需要在settings.py中开启MyspiderPipeline

    1 #开启ITEM_PIPELINES,ITEM_PIPELINES才可以使用
    2 ITEM_PIPELINES = {
    3    'myspider.pipelines.MyspiderPipeline': 300,#300表示爬虫的距离远近,越大越远,
    4 }

     六, 在MyspiderPipeline中进行数据处理

    1 class MyspiderPipeline(object):
    2     def process_item(self, item, spider):
    3         item["hello"]="world"
    4         print(item)
    5         return item#为了让数据在不同的pipeline中传递,需要return来返回item,

    七、保存爬取的数据

    1  scrapy crawl itcast -o teacher.csv#将爬取的数据保存为teacher.csv

    一个简单的scrapy框架下的爬虫就制作好了

  • 相关阅读:
    chrome 浏览器安装 postman
    react + antd Form表单校验
    Java 获取日期间的日期 & 根据日期获取星期
    PostgreSQL 按照日期范围查询
    momentjs 学习
    npm 常用命令
    Web中的安全性问题
    (转)Java 详解 JVM 工作原理和流程
    HashMap的工作原理
    对于org.apache.commons.dbcp.BasicDataSource的配置认知
  • 原文地址:https://www.cnblogs.com/zhiliang9408/p/10000842.html
Copyright © 2011-2022 走看看