0x01

其实我是打算先写scrapy框架学习的,但是真的是被表哥催着,=3=,所以只能先写四(等我把三补上我就把这句话删掉)
最开始接触动态抓取页面呢,当时想抓一个微博用户的头像url,然后我兴奋得不得了,写了一个普通静态的脚本,反正也抓不到什么东西,我就不往这里贴代码了

抓不到东西的我很是崩溃啊,我真的以为是我的xpath写错了,但是无论怎么匹配,结果都是输出"[]"
然后再al0ne表哥的提示下,查看了源代码,发现这个是一个动态的js渲染的网页,当时我是很想找个人谈谈人生

完全不会啊!然后立刻上网搜集动态网页相关的博客之类的
在这里还是要偷偷吐槽一句话,C*D*很多博客都是相同的,却都写着自己原创。。。╮(╯▽╰)╭
然后花了半天时间去研究了一下关于selenuim模拟抓取的方法
因为动态的网页有的时候是可以从xhr里面看见一些源码的,我说的咧就是像weibo这样,xhr里面只有空空荡荡一片的,网页全靠js渲染的动态网页抓取啦
所以,开始啦

0x02

万事开头难啊,最难的就是安装,不过好在这一次的安装全程竟然没有出一点点乱子ヾ(o◕∀◕)ノ
直接pip install selenium
就阔以啦
然后输入以下的代码运行
(≖ ‿ ≖)✧

hhhhhhhhhhh是不是报错了(~ ̄▽ ̄~)
那是因为你没有安装chrome的驱动呀
点击这个链接即可下载Chrome浏览器驱动======>>Chrome浏览器驱动下载,必须要翻墙,╮( ̄▽ ̄)╭
我真的发现每次安装对我来说都是一场劫难,还有配置一堆七七八八的东西(╯‵□′)╯︵┻━┻ ,网上教程竟然全是MAC下的放置方式 Σ(  ̄□ ̄;) 看来是我太穷了,只能自己摸索了
下载好之后,解压,里面会有一个.exe文件,直接放在你的python文件目录下面!!
这一步是为了写脚本的时候可以执行
然后再放一份在C:\Program Files (x86)\Google\Chrome\Application下面,也就是谷歌浏览器的文件夹下
然后配置环境变量,如图

这一步是为了在交互可以执行
就此,无论是在脚本里面执行,还是在交互界面,都不会报错

0x03

其实selenuim算是一个很强大的工具模块,但是我们最经常用到的就是webdriver模块
然后开始写脚本,关于selenuim的用法,我上传到云盘里,表哥们可以自取,算是半个官方文档====>selenuim webdriver使用秘籍
接下来直接上脚本,模拟登录京东

这样子就结束啦~~

不知道是因为现在的jd登录页面改变了了还是怎么了,网络上找到的所有的代码,全部是无法登录的 T_T

表哥说新浪微博的模拟登陆方式吗~~总是要留一个你们自己试一试呀 =3=
如果有需要的话,发送邮件到lirsakura@163.com直接找我要就可以啦

欢迎各位表哥多多交流啦~

0x04

让你们来看看selenuim真正厉害的地方吧~
真的是动态抓取咯

抓取京东的手机价格

是不是把手机价格抓下来啦~
反正我也买不起

0x01

其实python对用户还是相对来说比较友善的,安装的时候一般只要人品不是差的没办法救了,都不会出现什么太大的问题 2333333333(像我这样人品这么差的都没出现啥问题)
然后就是安装pip啦,这里就不做赘述了,反正pip大法好,用过的人都知道
安装pip还有一个原因就是,如果未来装错了,或者是不需要某个模块的话,可以使用 pip uninstall 模块名称进行卸载
在这里推荐一个pip安装的非常好的教程 windows下面安装Python和pip终极教程
接下来就要做一件
很伤人的事情了
对,是就是开始安装scrapy的各种各样的折腾了

 

0x02

我一直觉得scrapy的安装简直是我人生的一大挫折,起码来来回回重复了10遍,而且前9次装上了都是不可以用的 T_T
实不相瞒,真是痛苦
摸索很久之后终于找到了一个一次就可以安装成功的绝佳方法

首先去官网下载一个VCForPython27.msi
这个是链接点我点我!

先安装wheel,直接在cmd里面运行
pip install wheel

再安装lxml
这绝对是一个比较好的模块,也是安装scrapy之前必须安装的模块,xpath学好之后会发现人生不需要使用正则表达式是一件多么幸福的事 (╭ ̄3 ̄)╭♡
在此我是绝对不推荐表哥们使用pip命令安装的,因为接下来你可以看到一系列让你崩溃的报错
不要问我是怎么知道的!(╯‵□′)╯︵┻━┻
去网站下载.whl文件
这里是链接,如果不翻墙的话,也许会很卡~ 点我点我!没错就是我!
记得要找对应版本的文件
我这里下载的是 lxml-3.7.3-cp27-cp27m-win_amd64.whl 因为我装的是64位的python,2.7版本的
下载好之后,将文件放在某一个盘里
我放在了G:/py/里面
在cmd中运行
pip install G:/py/lxml-3.7.3-cp27-cp27m-win_amd64.whl/
安装成功啦!!!!

接下来就是最最最最心酸的一步,其实话说回来,如果前面装的方式都是正确的话,这一步就显得极其简单了
直接运行cmd
pip install scrapy
安装成功!

你以为这就结束了??
天真!
scrapy怎么会这样轻易的放过你??

最后一步是安装win32api运行文件的时候会用得上
好啦,直接去官网下载一个对应版本的就阔以了~
点我点我233333
然后双击打开,安装,一气呵成~ ʅ(´◔౪◔)ʃ 不会报错就是神清气爽
接着修改一下环境变量
添加如下的一句话
E:\Sakura\python27\Lib\site-packages;

至此,斗智斗勇结束啦~

0x03

其实我原本是不打算写这一段的,但是还是要感叹一下
这就是人生啊

0x01

在经历scrapy怎么也装不上,后来装上也不能用,以及继续在比赛和挖洞中被各路师傅吊打之后
我真的决定要改行了!

才怪~

0x02

首先抓包,因为知乎是有防爬机制的,抓到请求包之后,直接copy到代码里

(我真的有很认真的码掉我的cookie~)
最开始写这个爬虫的时候,我是用的正则匹配,但是匹配出来的不是很对
最开始的正则表达式"Title">(.*?)</a></h2>

 

但是抓到的东西异常的奇怪,然后放弃了
尝试使用xpath
xpath真的是神器,用过都说好,总比想半天去写正则表达式好太多,接下来直接上代码,不废话了,我是直接写入到一个文本里的

运行之后可以直接查看文本

大概就是酱紫了

0x03

关于中间出现的问题,在使用requests.get获取页面的时候,配合使用xpath要记住转为文本格式(感谢al0ne表哥的提示)

还有关于ASCII码的问题,添加

即可

虽然是个小的不行的程序,但是爬下了首页还是神清气爽