ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Scrapy初入门笔记

2022-02-02 22:02:32  阅读:165  来源: 互联网

标签:入门 URL cmd 爬虫 笔记 Scrapy 文件夹 安装 scrapy


说明:

        仅为学习时简略笔记,详见菜鸟教程

        Scrapy 入门教程 | 菜鸟教程 (runoob.com)icon-default.png?t=M0H8https://www.runoob.com/w3cnote/scrapy-detail.html

一:安装

法1(先尝试下):

pip install scrapy

*此方法经常出错

法2(通过Anaconda安装(简单):

下载链接:Anaconda | Individual Editionicon-default.png?t=M0H8https://www.anaconda.com/download/

1. 下载完成傻瓜式安装(可更改路径)

2. 配置Anaconda环境变量

此电脑——>属性——>高级系统设置——>环境变量——>path——>编辑——>新建——>浏览——>选择添加安装路径(如下图)

 

3. 验证是否安装成功

win+r  ==>输入cmd回车,输入以下代码

conda --v

如果出现如下图,则安装成功

4. 安装Scrapy(cmd)

conda install scrapy

5. 检验scrapy是否安装成功(cmd)

scrapy

出现如图即安装成功

 

 二: Scrapy入门使用

1. 打开要存放的文件夹,如桌面新建文件夹"test"

2. cmd进入该文件夹,输入

scrapy startproject 项目名

 此时test文件夹会出现一个testSpider文件夹

 

 

3.  (cmd)

cd testSpider
cd testSpider
cd spiders
scrapy genspiders 爬虫名字 域名

 

 

 4. 在pycharm打开整个项目文件

5. 更改默认配置: 

1. settings.py

# 更改为
ROBOTSTXT_OBEY = False

6. 开始写代码(在spiders/baidu.py)

import scrapy


class BaiduSpider(scrapy.Spider):
    name = 'baidu' # 爬虫的识别名称,必须是唯一的,在不同的爬虫必须定义不同的名字
    allowed_domains = ['baidu.com'] # 搜索的域名范围,也就是爬虫的约束区域,规定爬虫只爬取这个域名下的网页,不存在的URL会被忽略
    start_urls = ['http://baidu.com/']  # 爬取的URL元祖/列表。爬虫从这里开始抓取数据,所以,第一次下载的数据将会从这些urls开始。其他子URL将会从这些起始URL中继承性生成

    def parse(self, response):
        """
        **parse(self, response) :解析的方法,每个初始URL完成下载后将被调用,调用的时候传入从每一个URL传回的Response对象来作为唯一参数,主要作用如下:
        *负责解析返回的网页数据(response.body),提取结构化数据(生成item)
        *生成需要下一页的URL请求。
        *将start_urls的值修改为需要爬取的第一个url
        """
        
        print(response.body)
        # 这里进行处理数据等操作

7.运行爬虫(cmd/pycharm下的terminal)

进入项目文件夹

scrapy crawl 爬虫名字

可以看到爬虫文件打印的response.body

完。

标签:入门,URL,cmd,爬虫,笔记,Scrapy,文件夹,安装,scrapy
来源: https://blog.csdn.net/qq_50300933/article/details/122771975

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有