1)使用Scrapy,什么叫做Scrapy

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。

2)安装的Scrapy

$ : sudo pip3 install scrapy

3)确定要爬去网站

如:http://bolg.jobbole.com/

  步骤为:

  (1)在/home/下新建文件夹

    如:testspider

  (2)使用命令进入文件夹

    $:cd ~/testspider

    $~/testspider: scrapy startproject testspider

   (3)在使用pycharm打开testspider

    

结构说明:

testSpider                      项目的外壳

testSpider                  项目目录

spiders                爬虫编写目录

__init__.py      包文件

__init__.py            包文件

item.py           数据模型文件

middlewares.py    中间件文件 proxy 代理ip

pipelines.py      数据输出管道文件

settings.py        项目的配置文件

scrapy.cfg  scapy            的配置文件

  (4)使用scrapy的基本模板创建

    $~/testspider: scrapy startproject testspider

    

  (5)查看pycharm工程

    

4)运行scrapy

书写程序

  #启动程序
  from scrapy.cmdline import execute
  import sys
  import os
  print(os.path.dirname(os.path.abspath(__file__)))
  sys.path.append(os.path.dirname(os.path.abspath(__file__)))#获取当前路径
  execute(["scrapy","crawl","jobbole"])

运行结果:

2019-03-23 20:09:58 [scrapy.utils.log] INFO: Versions: lxml 4.3.2.0, libxml2 2.9.9, cssselect 1.0.3, parsel 1.5.1, w3lib 1.20.0, Twisted 18.9.0, Python 3.6.7 (default, Oct 22 2018, 11:32:17) - [GCC 8.2.0], pyOpenSSL 19.0.0 (OpenSSL 1.1.0g  2 Nov 2017), cryptography 2.1.4, Platform Linux-4.18.0-16-generic-x86_64-with-Ubuntu-18.04-bionic
2019-03-23 20:09:58 [scrapy.crawler] INFO: Overridden settings: {'BOT_NAME': 'testspider', 'NEWSPIDER_MODULE': 'testspider.spiders', 'SPIDER_MODULES': ['testspider.spiders']}
2019-03-23 20:09:58 [scrapy.extensions.telnet] INFO: Telnet Password: d217d79f472f437e
2019-03-23 20:09:58 [scrapy.middleware] INFO: Enabled extensions:
['scrapy.extensions.corestats.CoreStats',
 'scrapy.extensions.telnet.TelnetConsole',
 'scrapy.extensions.memusage.MemoryUsage',
 'scrapy.extensions.logstats.LogStats']

...

5)xpath

使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。

  (1)xpath的简介

  

    

  (2)xpath语法

   

    

    

  (3)xpath的使用

    class JobboleSpider(scrapy.Spider):
      name = 'jobbole'
      allowed_domains = ['blog.jobbole.com']
      start_urls = ['http://blog.jobbole.com/114496/']
      def parse(self, response):
      re_selector_ = response.xpath("/html/body/div[3]/a/img")
      pass

最新文章

  1. Javascript中bind、call、apply函数用法
  2. c++中的指针之指针在数组
  3. 一个App完成入门篇(五)- 完成新闻页面
  4. $.each 和$(selector).each()的区别
  5. 解决Windows10下80端口被PID为4的System占用的问题
  6. larave5.1l队列
  7. 学会简单使用log4j
  8. scrapy shell 中文网站输出报错.记录.
  9. POJ1321 棋盘问题(dfs)
  10. 访问项目时,不能自动加载index.php文件
  11. linux 投影仪
  12. No package tomcatX available. 解决办法
  13. 06 入门 - Web服务器
  14. Windows 10更新时出现0x80070422错误
  15. 论文阅读之: Hierarchical Object Detection with Deep Reinforcement Learning
  16. datetime.strptime格式转换报错ValueError
  17. NDK: GCC 4.6 crashes
  18. CRC校验3种算法_转载
  19. Nginx图片防盗链【实战】
  20. English trip V1 - 3.What Would you Like? Teacher:Lamb Key: would like to

热门文章

  1. SQLServer之创建提交读
  2. android 6.0 Intent 安装apk闪退
  3. vs code使用Git
  4. tmux resurrect 配置
  5. 野指针与'关键字'NULL
  6. 对const的总结与思考
  7. MySQL 常用语句总结
  8. PHP字符串函数、常量、数组排序
  9. ASP.NET Core 2.2 : 十七.Action的执行(Endpoint.RequestDelegate后面的故事)
  10. Python支付宝在线支付API