Python3 Scrapy框架入门笔记

本文档详述了在Windows环境下使用Python3的Scrapy框架进行爬虫开发的步骤,包括项目创建、爬虫编写、数据定义、设置调整及运行方法。同时,介绍了Scrapy的结构和工作原理。
摘要由CSDN通过智能技术生成

本文章是在环境搭建好的情况下,记录学习Scrapy框架笔记

准备环节

  1. CMD跳转到Python环境目录
  2. 创建文件夹 mkdir [文件名]

Scrapy项目创建流程

  1. 创建Scrapy项目 scrapy startproject [项目名]
  2. 进入项目文件夹 cd [项目名]
  3. 创建爬虫文件 scrapy genspider [文件名] [域名]
    提示:爬虫文件名不能和项目名一致
    项目文件说明:图片


代码实现—编写爬虫

在创建好的爬虫文件(comment_spider.py)里编写爬取内容代码

# -*- coding: utf-8 -*-
import scrapy
from ..items import CommentScrapyItem
import bs4

class CommentSpiderSpider(scrapy.Spider):
   name = 'comment_spider' #爬虫名comment_spider
   allowed_domains = ['自定义'] #域名
   start_urls = [] #爬虫起始网址
   for x in range(3): #构造url
       url = "自定义"+str(x)
       start_urls.append(url) #将url添加进start_urls


   def parse(self, response):
       #parse为任默处理response方法
       soup = bs4.BeautifulSoup(response.text,'html.parser') #解析
       datas = soup.find_all('div',class_='comment-content') #提取内容
       for data in datas:
           item = CommentScrapyItem() #实例化CommentScrapyItem
           item['comment'] = data.text.strip() #提起评论内容
           print(item['comment']) #打印评论
           yield item #把内容传递给item

代码实现—定义数据

在items.py里定义数据,爬取的内容为评论

# -*- coding: utf-8 -*-
import scrapy

class CommentScrapyItem(scrapy.Item):
    #定义CommentScrapyItem类,继承自scrapy.Item
    comment = scrapy.Field()
    #定义评论的数据属性

代码实现—设置

修改settings.py文件,比如USER-AGENT,ROBOTS等等

# Obey robots.txt rules
ROBOTSTXT_OBEY = False

代码实现—运行

方法一

  • cd 项目文件夹的路径
  • 输入命令scrapy crawl comment_spider(comment_spider是我的爬虫名)

方法二

  • 在最外层的大文件夹里新建一个main.py文件(与scrapy.cfg同级)
  • 在main.py文件里编写代码
# encoding: utf-8
from scrapy import cmdline
#导入cmdline模块,实现控制命令行
cmdline.execute(['scrapy','crawl','comment_spider'])
#用execute()方法,输入运行scrapy的命令

附件图文

Scrapy用法

图片

Scarpy结构

图片

Scarpy工作原理

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值