Skip to content

kozora/Python-spider

 
 

Repository files navigation

[落网]音乐

  • 落网的音乐逼格真的很高,都是自己喜欢的民谣类型,故爬虫抓取之。

说明

  • 整个网站还是很简单的,没有模拟登陆,验证码啥的,甚至请求头都不用写。知乎查了一下落网历史,发现听不容易的,所以爬虫也不要写的太暴力,温柔的爬取就行了。

准备

  • 工具:python 2.7,PyCharm
  • 类库:Requests,BeautifulSoup,os

分析

  • 进入落网官网,发现如下图所示,其中804就是期刊,每一期都有十几首音乐。

  • 点击页面进入HTML元素页面,可以看见歌曲名字,专辑名,歌者,但是怎么没有歌曲资源的url?

  • 没有歌曲的url我们就不能下载,那么我们要看看我们每一次换歌曲,发生了什么请求,点击审查元素,如下结果

  • 如上图所示一个Request url,我们复制进浏览器地址输入栏,发现如下所示,没错这就是我们下载的url了

开始

  • 开始之前我们要获取歌曲相应的信息,我们采用bs这个库来解析Html元素
  • 我们采用requests这个库来进行网络请求与下载,下载音乐就要用到稍微逼格高一点的用法了,我们下载它的响应流文件,可参考
  • Requests响应体内容工作流

总结

  • 抓取还是比较简单的
  • 我们抓取的目的就是把歌曲下载到本地,自由不用联网的听,速度个人感觉不要太追求,不要坑人家服务器啊。

参考

结果

##爬虫基础

##爬虫进阶

豆瓣爬虫

百度爬虫

####一:py2.7 根据关键字从百度下载图片,并且能够根据需要过滤图片。

  • py3.0作者博客 Thank you
  • 最近做App需要图片资源,就想写个爬虫爬,想起来以前收藏的py3.0版本,改成2.7版本。
  • 改动之后下载图片的数量可以自己控制,下载之后的图片可根据尺寸保留

知乎爬虫

#####一:firstLogin模拟登录知乎--代码解读思路整理。

  • 很多网站需要登录才能访问更多的内容,so登录必不可少,这部分代码也是我fork的源码的author.py(在第二部分可见,尊重作者,感谢:)
  • 首先要想模拟登录,浏览器的工作原理一定要了解一点,推荐Chorme浏览器自带的审查元素(右键即可)然后观察Network的变化
  • 模拟登录首先要构建Header请求头,这是让请求网站认为你是浏览器(not spider)
  • 第二步要获取xsrf--详细请看http://baike.baidu.com/link?url=x5M7ywYtlBL5LDGsZ61VTJHzS582Y1uZnXgor_LszDF0k7-BY7RA8YwkJ02yxxk-hAANTw32wcHGRRl3Xqi2-a 我们要做的就是利用re或者bs去相应的网站获得这个参数,以证明我们不是坏银==
  • 正确输入账号密码之后,肯定要输入验证码啦==简单的思路就是把验证码下载下来,然后人眼识别,手动填入(当然大神的源码中,能够直接破解,自动填写,但是在我的win7上好像不可以==)所以我稍微改了一下,用网页自动打开==
  • 首次登陆成功之后,以后肯定不想重复再做这些啦,所以有cookie的存在啊~~注意一点:firstLogin代码执行并不是一开始就执行main函数--会先检查cookie==
  • 在firstLogin代码里面有详细的步骤(删除了一些原来大神的完善代码),只是为了自己更好理解一下,思路更加清晰一些(尊重产权==)

#####二:getImgs爬取知乎问题下的图片--女生拥有短发是怎样一种体验?

####三:getQuestion_topic爬取某个话题下面的所有问题。

####四:getImgs爬取知乎问题下的图片--女生拥有短发是怎样一种体验?

  • 加上了Thread,Quene跑的快飞起了--五六分钟爬了1000条左右
  • 加上的异常处理,碰到了不能下载下来的,直接跳过去
  • 线程的知识参考简书作者感谢

####五:要干嘛?还没想好==

####六:getFocus批量关注某个话题下面的用户

  • 详细请见代码
  • 有点疑问 批量获得关注者 那个start参数有什么规律==
  • 更新了最新的代码,start是十位数的时间戳
todolist
  • 把一中的代码优化成多线程,跑的太慢了,自己就爬了大概400多就关了它(而答案的数量有1560,一个答案至少一张图片吧)
  • 爬取知乎神评论,网上看到了关键的思想,好像有点数据挖掘的意思,会尽快弄出来
  • 爬取某一天知乎出现的评论最高的词或者其他的,用数据挖掘,分析的思想来处理
  • 爬取某个用户关注,回答,收藏等信息来分析该用户的行为特征.....

About

many spiders surfing on the net to get datas

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published