Python3 Scrapy框架入门笔记

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

文章目录

  • 准备环节
  • Scrapy项目创建流程
    • 代码实现---编写爬虫
    • 代码实现---定义数据
    • 代码实现---设置
    • 代码实现---运行
  • 附件图文
    • Scrapy用法
    • Scarpy结构
    • Scarpy工作原理

准备环节

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

Scrapy项目创建流程

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


代码实现—编写爬虫

在创建好的爬虫文件(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用法

Python3 Scrapy框架入门笔记_第2张图片

Scarpy结构

Python3 Scrapy框架入门笔记_第3张图片

Scarpy工作原理

Python3 Scrapy框架入门笔记_第4张图片

你可能感兴趣的:(python爬虫,python,windows)