在Amazon EC2 Ubuntu上使用selenium

这个,大家好,我又在爬网站了。这次的网站用不了可爱的requests package,遗憾遗憾。

于是上selenium webdriver。还是用python。

一开始还在担心又要学一个新package了感觉好难啊好烦啊,其实看了一个documentation以后发现selenium真心太friendly了!你想要的样子它都有哈哈哈哈哈哈。

于是script在Chrome Inspect的帮助下写好了。
然后放上EC2,test。呵呵哒不行。

究其原因,设置这个东西真的很麻烦。我用的是chrome的web driver,首先要装chromium-browser,然后装chromedriver。
然后一定要装这个:sudo apt-get install xvfb。没有这个在ec2上browser会unexpectedly exited,display要设成0。可以看这里。

好了,弄完一堆。又有错了!这次是我自己的锅,我在用美丽的汤,然后lxml这个dependency没装orz。

这个弄好之后终于ok了!结果写文件的时候又出错???这个我就很不开心来。一看,是unicode出错。这次ec2上我没用python3,因为用的话估计得跟上次requests一样,在当前目录装selenium和browser,感觉太可怕了……

然后我失去耐心了,于是把程序拖下来到本地测试。本地用的是python3。本地没问题了,在我加了encoding=‘utf-8’以后。然后送上去,再来,呵呵python2没有encoding这个argument……然后最后改成encode('utf-8'), 就能写了。

python2和3这个Unicode的问题真心挺膈应的。

好啦!然后headless browser就在ec2上跑起来啦!

你可能感兴趣的:(在Amazon EC2 Ubuntu上使用selenium)