美文网首页
python3爬虫学习笔记

python3爬虫学习笔记

作者: MrLmomo | 来源:发表于2018-06-02 10:44 被阅读22次
    掘金随机最新100篇文章的分词

    本人前端狗一名,也想追随人工智能的道路,于是在java、php、python的选择中徘徊,因为身边java和php的coder太多了,于是乎选择了python,学习python第二天发文;

    因为我是前端,学习python基本算是毫无基础,习惯性搂一遍runoob,笼统过度,只是有印象,方便后期查找,基本的了解了之后,开始爬!!

    python比较好的一点就是有非常强大且数量够多的库,所以大多数时候你只需要会用轮子而不需要造轮子;

    我今天选择爬的网站是掘金:https://juejin.im,首页的最新随机文章

    第一步:查看页面的渲染方式:

        首先要确定你要爬的网站是如何进行前端渲染的,我用的方式比较简单,用chrome打开目标网站,在页面中右键-》查看网页源代码,如果从源代码中能看到网站上所有的数据,就代表你可以使用传统的爬虫方式,反之则需要使用ajax的方式爬,如下图

    掘金Ajax方式渲染页面,查看网页源代码时,只能看到固定的html和一堆东西,这类网站需要使用ajax的方式爬 这是简书的源代码,传统方式爬即可

    PS:安全性的问题,我不太情书,但是从我现在掌握的技术来看,对于ajax方式的爬虫技术稍稍复杂一点点

    第二步:查找数据接口

        已经确认目标网站的渲染方式,那么现在需要找到传输数据的接口,通常这类接口是都会暴露的,因为安全性问题,访问接口的时候可能会有header的验证,因为我们只是查看数据,并不存在ddos攻击或者其他的不法行为,所以,用自己浏览器真实的参数就可以

        先来找接口,chrome打开目标网站,F12->network->刷新页面,不出意外的话你会看到如下界面

    chrome开发者工具

    然后选择XHR,为什么选xhr不做过多的解析google、百度即可,这是ajax的一种方法,选择xhr后数据量会小很多

    变这样了

    这里发现的基本都是需要请求返回的数据接口,我的习惯是先看大的,为什么呢(因为我技术LOW啊,哈哈),不行就每个都点一次,总会发现的,哈哈

    选择一个之后,看到的信息

    因为我们要看数据所以这里选择Preview,如图

    貌似有数据啊

    因为掘金是滚动加载,所以我们继续向下滚动,对比一下每次加载数据的变化(这里为爬多数据准备,因为掘金首页每次只加载10条数据)

    向下滚动页面后,我们发下有新数据进来

    因为我对比过,就不发图了,每次请求的接口数据都一样,没有区别,就代表这,用户每次向下滑动页面请求的都是这个接口,但是返回的数据是不同的,这个应该是掘金后台进行的处理,咱们不需要管,换言之如果要获得更多的数据,多请求几次这个接口就可以了(切记是掘金首页的数据,因为其他栏目的方式和首页不一样)

    接下来我们要查看具体的接口是什么?所需参数都有啥?

    选择Headers标签

    注意红框

    这里的数据大多数同学应该能看明白

    Request_url:请求的接口地址,这里是带参数的

    Request Method:请求方式

    Host:Host地址

    Referer:触发接口的路由地址

    User-Agent:浏览器信息

    Query String Parameters :请求的数据

        sudi,ab, src 在Url中可以看到这些数据

    以上就是我们需要的数据,数据请求的接口地址为:https://recommender-api-ms.juejin.im/v1/get_recommended_entry? ,现在我们基本分析完了,可以写代码啦

    第三步:在python中实现功能

    直接上代码

    新手写的LOW

    到此,爬完结束!

    相关文章

      网友评论

          本文标题:python3爬虫学习笔记

          本文链接:https://www.haomeiwen.com/subject/vholsftx.html