上一篇文章讲了pyspider的安装(ubuntu18)

第一步,找数据源,发现数据源url的pattern

试试抓取数字货币价格,

数据源:https://coinmarketcap.com/zh/currencies/bitcoin/

点击历史数据,然后选择开始结束日期:

https://coinmarketcap.com/zh/currencies/bitcoin/historical-data/?start=20190201&end=20190228

可以发现查询历史价格的URLpattern,

base_url=https://coinmarketcap.com/zh/currencies/bitcoin/historical-data/?start=xx&end=yy

xx=开始时间,yyyymmdd

yy=结束时间,yyyymmdd

爬虫默认模板代码:

    def on_start(self):base_url='https://coinmarketcap.com/zh/currencies/bitcoin/historical-data/?start=#START#&end=#END#'year_list=['2015','2016','2017','2018']month_list=range(1,13)for year in year_list:for month in month_list:start_date=year+str(month).rjust(2,'0')+'01'end_date=year+str(month).rjust(2,'0')+'31'self.crawl(base_url.replace('#START#',start_date).replace('#END#',end_date), callback=self.detail_page)

从2015年01月开始抓取,到2018年12月。

需要注意的是每个月都按照31天处理的,尝试了网页可以正常返回不会报错。

第二步,解析页面内容

构造好url地址后,就是解析页面内容了。

修改爬虫模板代码:

    def detail_page(self, response):return {"url": response.url,"title": response.doc('title').text(),"text_right":response.doc('tr.text-right').text()}

添加了字段,text_right,这个字段就是网页table的正文。提取出正文后,还要将数据切分为一行一行的,然后每一行映射为特定字段,保存到文本csv或者数据库中,这些如果需要自行实现下吧。

上面稍微麻烦的是定位需提取内容的css的表达式。这本来是一件比价恶心(耗时,易错)的事情,我上学那阵子是很烦这个的。不过,pyspider已经做了非常强大的封装处理,网页上可以可视化选择,自动生成css选择的表达式,直接使用就行了。

这个我也是第一次使用,不妨演示下

一般点击1,2,4就行了,不用复制出来,点击4之前光标移动到输入选择器位置就行了 。

第三步,保存结果

通过重写on_result方法保存结果,

例如:

def on_result(self,result):if not result or not result['original_id']:returnsql = SQL()sql.insert('t_dream_xm_project',**result)  

这里的每个result都是上面构造的map形式数据,本文中是key为url,title,text_right的map

这里的text_right是包含所有行列的文本串,需要进一步解析。

解析的工作有时候放到第二步也可以,第二步中text_right可以直接构造为list返回过来,个人更喜欢抓取和解析包村分离操作,抓取只负责将数据load下来,至于后续解析由其他模块负责。

还有一种更好的思路是直接获取到对方网址拉取数据的接口,通过直接向接口发送查询数据获得结构化的数据,然后直接解析入库。这种方式基本上不需要爬虫进行css选择器之类的处理了。

其他可参考技术

1,,使用代理
验证代理有效性:
参考:https://www.jianshu.com/p/588241a313e7
import requests
try:
  requests.get('http://wenshu.court.gov.cn/', proxies={"http":"http://121.31.154.12:8123"})
except:
  print 'connect failed'
else:
  print 'success'
后续可以使用专业代理工具:squid

2,伪装浏览器头部
fake-useragent库:伪装浏览器Header
参考:https://blog.csdn.net/jmshl/article/details/88687752

pyspider抓取数字货币价格bitcoin相关推荐

  1. 【爬虫】【原创】pyspider抓取XX图片

    灵感来源: https://zhuanlan.zhihu.com/p/31421316 抓取页面: https://www.nvshens.com/tag/new/ 页面分析: 首页获取所有图片详情页 ...

  2. 【爬虫】【原创】pyspider抓取宅男女神美女图片

    灵感来源: https://zhuanlan.zhihu.com/p/31421316 抓取页面: https://www.nvshens.com/tag/new/ 页面分析: 首页获取所有图片详情页 ...

  3. 大众点评 爬虫抓取 数字文字解密

    分析网页内容 原网址:https://www.dianping.com/zhengzhou/ch0 大家在抓取网页的时候会遇到各种问题,比如字体加密,但是当我爬取大众点评网站的时候发现,它里面的字体以 ...

  4. Python + PySpider 抓取百度图片搜索的图片

    说明 1.PySpider 是一个方便并且功能强大的Python爬虫框架 2.PySpider 依赖于PhantomJS 3.windows平台,PySpider 与64位的Python兼容不太好,需 ...

  5. pyspider抓取伯乐在线python相关所有文章

    有点软用的pyspider中文文档(这个翻译的和谷歌翻译差不多,如果没有谷歌翻译插件的可以考虑) 英文官方文档(谷歌翻译后完全能看懂,不像python官方的,第三方库的都比较友好) 伯乐在线pytho ...

  6. 分页请求json数据_Python爬虫入门教程 28-100 虎嗅网文章数据抓取 pyspider

    1. 虎嗅网文章数据----写在前面 今天继续使用pyspider爬取数据,很不幸,虎嗅资讯网被我选中了,网址为 https://www.huxiu.com/ 爬的就是它的资讯频道,本文章仅供学习交流 ...

  7. python爬虫之app数据抓取_Python爬虫入门教程 29-100 手机APP数据抓取 pyspider

    1. 手机APP数据----写在前面 继续练习pyspider的使用,最近搜索了一些这个框架的一些使用技巧,发现文档竟然挺难理解的,不过使用起来暂时没有障碍,估摸着,要在写个5篇左右关于这个框架的教程 ...

  8. python爬虫专家_Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider

    1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. 安装起来是非常简单的 pip install pyspi ...

  9. Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider

    1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. github地址: https://github.com ...

最新文章

  1. python 检验数据正态分布程度_python 实现检验33品种数据是否是正态分布
  2. 2162112375 Week04-面向对象设计与继承
  3. Fedora设置DVD为yum源
  4. spring源码分析之@ImportSelector、@Import、ImportResource工作原理分析
  5. 【科普】一文把数据科学、人工智能与机器学习讲清楚
  6. VTK:旋转球体用法实战
  7. Web使用热敏打印小票(IE环境)
  8. Cow Contest【最短路-floyd】
  9. A8U推一键上面洗车APP软件
  10. RTX5 | 内存池02 - 剩下几个API
  11. 图解 Kafka,看本篇就足够啦
  12. node服务的监控预警系统架构 1
  13. java session时间_java设置session过期时间的实现方法
  14. echarts 柱状图颜色设置
  15. JavaScript高程三----(基础一)
  16. 如何下载Microsoft Edge浏览器新建标签页中好看的壁纸
  17. PDF To JPEG Pro(pdf转jpg软件)官方正式版V4.40 | pdf转jpg免费版下载 | pdf转jpg软件有哪些?
  18. SRS流媒体服务器搭建流程-简单实用版
  19. 仿照QQ的左右滑动切换界面的效果
  20. app上应用市场,被腾讯手机管家报病毒 a.gray.sexpay.m

热门文章

  1. python对矩阵对角线进行赋值
  2. 读取SQL Server事务日志
  3. 如何在SQL Server中创建视图
  4. sql 查询数据库索引重建_SQL查询性能的杀手– –了解不良的数据库索引
  5. C++Primer第四版 阅读笔记 第二部分 “容器和算法”
  6. goroutine 修改全局变量无效问题
  7. The 10th Shandong Provincial Collegiate Programming Contest 2019山东省赛游记+解题报告
  8. 在windows系统上word转pdf
  9. iOS设计模式-适配器
  10. Jafka来源分析——文章