• 售前

  • 售后

热门帖子
入门百科

python爬虫scrapy根本利用超详细教程

[复制链接]
宇转好帖鄙 显示全部楼层 发表于 2021-10-25 20:02:22 |阅读模式 打印 上一主题 下一主题
目次


  • 一、先容
  • 二、根本使用

    • 2.1 环境安装
    • 2.2 scrapy使用流程
    • 2.3 文件分析
    • 2.4 settings.py一些常见的设置

  • 三、实例

    • 3.1 实例要求
    • 3.2 实例代码
    • 3.3 输出结果


一、先容

官方文档:中文2.3版本
下面这张图大家应该很熟悉,很多有关scrapy框架的先容中都会出现这张图,感爱好的再去查询相关资料,当然学会使用scrapy才是最主要的。


二、根本使用


2.1 环境安装

1.linux和mac利用系统
  1. pip install scrapy
复制代码
2.windows系统
      
  • 先安装wheel:
    1. pip install wheel
    复制代码

  • 下载twisted:下载地址  
  • 安装twisted:
    1. pip install Twisted‑17.1.0‑cp36‑cp36m‑win_amd64.whl
    复制代码
    (记得带后缀)  
    1. pip install pywin32
    复制代码

    1. pip install scrapy
    复制代码
3.Anaconda(推荐)
在我一开始学python使用的就是python3.8,在安装各种库的时候,总会有各种报错,真的有点让人奔溃。Anaconda在安装过程中就会安装一些常用的库,其次,当我们想要安装其他库时也很方便。当然大家也可以选择安装其他的一些软件,


2.2 scrapy使用流程

这里默认大家已经安装好scrapy库,大家要记得要在下令行里输入以下下令啊。(我使用的anaconda的下令行)
创建工程
  1. scrapy startproject projectName
复制代码


进入工程目次:这里肯定要进入到刚才创建好的目次中
  1. cd projectName
复制代码

创建爬虫文件:创建的爬虫文件会出如今之前创建好的spiders文件夹下
  1. scrapy genspider spiderName www.xxx.com
复制代码

编写相关代码
执行爬虫文件
  1. scrapy crawl spiderName
复制代码

2.3 文件分析
  1. import scrapy
  2. class HelloSpider(scrapy.Spider):
  3. name = 'hello' # 爬虫名称
  4. # 允许的域名:限定start_urls列表当中哪些url可以进行请求的发送
  5. # 通常情况下我们不会使用
  6. # allowed_domains = ['www.baidu.com']
  7. # 起始的url列表:scrapy会自动对start_urls列表中的每一个url发起请求
  8. # 我们可以手动添加我们需要访问的url
  9. start_urls = ['https://www.baidu.com/','https://www.csdn.net/']
  10. def parse(self, response): # 当scrapy自动向start_urls中的每一个url发起请求后,会将响应对象保存在response对象中
  11. # 代码一般是在parse方法中写
  12. print("response:",response)
复制代码


2.4 settings.py一些常见的设置

相称于requests中的headers参数中的User-Agent
  1. USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36 Edg/88.0.705.68'
复制代码
可以忽略大概不遵守robots协议
  1. ROBOTSTXT_OBEY = False
复制代码
只有步伐出现错误的情况下,才显示日志文件,步伐正常执行时只会输出我们想要的结果
  1. LOG_LEVEL='ERROR' == scrapy crawl spiderName --nolog
  2. //二者是等价的,当然还是推荐使用前者
复制代码
未加
  1. LOG_LEVEL='ERROR'
复制代码

  1. LOG_LEVEL='ERROR'
复制代码
之后

scrapy 爬取文件生存为CSV文件中文乱码的解决办法
  1. //下面的设置可能会导致繁体出现,可以逐个试一下
  2. FEED_EXPORT_ENCODING = "gb18030"
  3. FEED_EXPORT_ENCODING = "utf-8"
  4. FEED_EXPORT_ENCODING = "gbk"
复制代码


三、实例


3.1 实例要求

目的:爬取百度网页的百度热榜


3.2 实例代码

实例代码


3.3 输出结果

结果

到此这篇关于python爬虫scrapy根本使用超详细教程的文章就先容到这了,更多相关python爬虫scrapy使用内容请搜刮草根技能分享从前的文章或继承浏览下面的相关文章渴望大家以后多多支持草根技能分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作