搜索
查看: 5250|回复: 3

[Python] 用python爬取一个网站的所有生物信息学习资料,附代码

[复制链接]

33

主题

46

帖子

230

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
230
发表于 2017-2-1 20:14:55 | 显示全部楼层 |阅读模式
注:本文是生信媛微信公众号原创文章
作者:天地本无心
原文链接:
http://mp.weixin.qq.com/s/OsOyBJOt6nJi3eGv0v-IHg

我们在万维网上看到的任何一个文件,(文档,视频,音频)都有一个唯一的url地址。爬虫最基本的原理,就是收集这些url地址然后下载。今天我们会通过一段python代码,就能够直接爬取一个网站的所有关于生信的资料。也希望对大家能够有所启发,让大家能够在自己的生活当中更多地使用python来解决实际问题。如果大家能够把这段代码实际敲一遍的话,肯定能够入门python爬虫。
明天就要回家,今天还要熬夜赶合作者的分析报告,但是答应了姊如同学的每周写一篇公众号又不能轻易违背,所以翻出了我以前写的一个python脚本来作为本周的推送内容(求原谅)。
上次看南派Y叔的推送,提到用markdown here的插件来排版公众号,然后一键渲染,在今天的推送当中,测试一下。发现针对长代码的支持比较差,无端让换行消失,python作为一门对缩进要求严格的语言,这样的脚本放上去之后,大家copy下来,发现运行不了,会骂我的,所以我果断放弃之。
为什么我们需要用爬虫?
spider1.png
比如说你看到了一个网页类似于这样,你觉得每个文件都有用,但是如果一个一个点击保存,你会需要成百上千次的点击,这时候就可以考虑使用爬虫了。
什么时候不方便使用爬虫?
不要轻易用爬虫去爬会封你IP的网站,比如说NCBI,不要问我怎么知道的。
好,还要抓紧时间干活,就不多说了,直接放代码。
spider2.jpg
这个代码写的挺短,不难,但是其中有一个对新手可能会比较觉得tricky的点在于,它能够通过递归调用函数的方式,将这个文件目录的子文件夹,子文件的子文件夹里的文件,全部下载到。运行完毕之后,会在你的运行脚本的位置,生成一个bioinformatics的文件夹,里面就是网站上的全部学习资料。
运行这个脚本,需要你自己的电脑上长了python2.7, 如果是python3的话,要么你自己修改下脚本,要么用conda或者vitualEnv之类的工具构建一个python2.7的环境。
不想一个一个敲,也行,在这里能够找到我的原始代码,copy下来使用就行。

欢迎到微信公众号订阅我们
生信媛
bio_sxy




上一篇:用python制作抽奖券,附全部代码
下一篇:小白生信学习记(一)转录组基本知识及简单的linux命令
回复

使用道具 举报

2

主题

51

帖子

477

积分

中级会员

Rank: 3Rank: 3

积分
477
发表于 2017-4-19 14:29:27 | 显示全部楼层
可以的,做点小改动就可以用 Python 3 跑了
回复 支持 反对

使用道具 举报

1

主题

6

帖子

66

积分

注册会员

Rank: 2

积分
66
发表于 2017-8-3 16:48:24 | 显示全部楼层
想问下,小编用的是什么代码编辑软件呀
回复 支持 反对

使用道具 举报

33

主题

46

帖子

230

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
230
 楼主| 发表于 2017-8-25 16:50:56 | 显示全部楼层
Bruce 发表于 2017-8-3 16:48
想问下,小编用的是什么代码编辑软件呀

sublime2
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2020-6-1 12:55 , Processed in 0.031247 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.