查看: 2132|回复: 0

Scrapy爬虫学习总结一


18-2-2 18:45:48 | [复制链接]

5

主题

17

帖子

84

积分

大虾

Rank: 2

发表于 18-2-2 18:45:48 | 显示全部楼层 |阅读模式
通过这几天对爬虫简单的学习,感觉爬虫的学习就像前端,入门容易,要想深入还是有一定难度。因为python有很多现成的库,如果你稍微了解一点html和网络方面的知识,看一下相关库的示例代码,扒拉一个网页到本地最多2行代码,其中还有一行是import,这里当然不包括解析数据,解析数据已经是后话了,你首先得把数据抓取下来,可能入门抓的网页没有什么反爬虫策略或者抓取数据量小没有触发反爬虫系统,感觉一下就爬到数据了,好像大部分时间都在解析数据,但是我觉得真正难的是抓取,怎么解析完全看自己实际需要。



大部分人接触爬虫一开始接触的基本都是静态爬虫,即不需要登录就能访问数据,数据基本不是通过动态加载的。而往深里,很多数据是需要登录之后才能爬取的,很多数据是通过ajax请求的,那么你需要分析清楚哪个请求请求/提交了哪些数据,请求/提交的机制是什么,这就要求你对http协议的认识比较深刻,而另一大块就是如何应对服务器端的反爬虫,拿最简单的来说,别人的数据希望用户通过浏览器正常访问,而非被“”贪心又猥琐“”的爬虫来访问,所以服务器端都会想方设法辨别你是正常用户还是爬虫,比如验证码就是一个令人很头疼的问题,特别是一些变态的验证码,比如12306...,此外爬虫爬取的效率也是一个问题,所以爬取数据量大的时候,你不可能仅仅用自己的小笔记本,而要用到分布式爬虫,利用多台计算机来完成任务。

分布式这些我还没学,但期待下周的课程能让我学会。

  1. Scrapy


  2. Python爬⾍框架


  3. scrapy


  4. pyspider


  5. selenium


  6. PhantomJS


  7. Scrapy简介


  8. Scrapy是⼀个为了爬取⽹站数据,提取结构性数据⽽编写的应⽤框架。 可以应⽤在包括数据挖掘,信息处理或存储历史数据等⼀系列的程序中。其最初是为了 ⻚⾯抓取 (更确切来说, ⽹络抓取 )所设计的, 也可以应⽤在获取API所返回的数据(例如Amazon Associates Web Services ) 或者通⽤的⽹络爬⾍。


  9. Scrapy安装


  10. pip install twisted==13.1.0


  11. pip install scrapy


  12. scrapy 命令


  13. startproject


  14. shell


  15. settings


  16. view


  17. genspider


  18. fetch


  19. 创建项⽬和爬⾍


  20. scrapy startproject qianmu


  21. cd qianmu


  22. scrapy settings --get=BOT_NAME


  23. ⽬录结构


  24. ├── qianmu


  25. │   ├── init.py


  26. │   ├── items.py


  27. │   ├── middlewares.py


  28. │   ├── pipelines.py


  29. │   ├── settings.py


  30. │   └── spiders


  31. │   ├── init.py


  32. └── scrapy.cfg


  33. 创建第⼀个爬⾍


  34. scrapy genspider university qianmu.iguye.com


  35. class UniversitySpider(scrapy.Spider):


  36. name = 'university'


  37. allowed_domains = ['网站链接']


  38. start_urls = ['url链接']


  39. def parse(self, response):


  40. pass


  41. 接下来的没发贴了,论坛不允许url链接


复制代码




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

订阅|小黑屋|手机版|千锋教育论坛 ( 京ICP备12003911号-3 )

GMT+8, 20-4-5 09:00 , Processed in 0.376064 second(s), 43 queries .

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表