Python-Scrapy框架基础学习笔记

1. 创建一个Scrapy项目(test_project01)

  cd 进入指定目录:scrapy startproject test_project01

该命令会创建包含以下内容的test_project01目录

test_project01/
    scrapy.cfg
    test_project01/
        __init__.py
        items.py
        pipelines.py
        settings.py
        spiders/
            __init__.py
scrapy.cfg: 项目的配置文件
test_project01/: 该项目的python模块。之后在此加入代码。
test_project01/items.py: 项目中的item文件.编写需要保存的内容
test_project01/pipelines.py: 项目中的pipelines文件.管道,保存内容的编写
test_project01/settings.py: 项目的设置文件.
test_project01/spiders/: 放置spider代码的目录.

2. settings文件的基础设置

基础设置的内容:https://www.cnblogs.com/longyunfeigu/p/9494408.html。

简单的爬虫setting只需要修改以下内容

ROBOTSTXT_OBEY = False
DEFAULT_REQUEST_HEADERS #(请求头)
ITEM_PIPELINES #(管道设置,保存爬取的数据需要)

3. 定义Item

name1、name2表示需要保存的变量名

import scrapy
class TestProject01Item(scrapy.Item):
    # define the fields for your item here like:
    name1 = scrapy.Field()
	name2 = scrapy.Field()

4. 编写爬取内容Spider

  • 创建一个Spider,进入test_project01/test_project01/Spider
  • 输入scrapy genspider my_spider runoob.com,以runoob.com主页为例子
  • .\test_project01\test_project01\spiders 会创建一个my_spider.py的文件,包含以下初始内容
import scrapy
class MySpiderSpider(scrapy.Spider):
    name = 'my_spider'
    allowed_domains = ['runoob.com']
    start_urls = ['http://runoob.com/']

    def parse(self, response):
        pass

在此文件中表写爬取规则。

5. pipeline.py文件的编写

保存为json格式的数据

import codecs
import json

class TestProject02Pipeline:
    def __init__(self):
        self.file = codecs.open('projects.json','w',encoding = "utf-8")
		
    def process_item(self, item, spider):
    	data = json.dumps(dict(item),ensure_ascii=False)+"\n"
    	self.file.write(data)
    	return item

    def spider_closed(self,spider):
        self.file.close()

将数据保存数据库,或者保存多媒体文件略,这里只说明最基础的流程,其他的请自行百度了解。

6. 爬取

命令行进入项目的根目录\test_project01,输入scrapy crawl my_spider

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值