终于在最后一门考试的当天确定了实习的公司。izicap 一个很小的初创公司,chef跟我讲主要是做merchant analyse的,并且说是山寨swipely.com&womply.com。 (虽然他没有说山寨这个词,但是我是这么理解的)
买了车,退了房 搬家到南部valbonne。该死的here map带我绕路,多耽误了我两个多小时,开了将近七个小时才到达的目的地。
同事人不多,一来有一个info一个老板在公司,第二天有五个人,info的chef,负责marketing的,和另一个不还不知道是干什么的,
第二天下午他们应该是在开会,集体讨论什么事情,但是我去弄房子的事情所以没有参加,结果第三天就一个人都没有了。。。
邮件给我布置了一个其实应该是info做个活,姑且翻译成 “网页爬虫”吧,其实 就是编程 自动的 从一个网站的不同网页上提取一些需要的信息。
然后我就开始了我的艰苦的 试错 历程。。
###############################################################################################################################
先大体介绍一下给的工作, 就是在 网站上 按照siren码去提取公司的相关信息,经营内容,公司名,地址 等。
拥有的文件
1,一个excel,包含公司的siret和siren码
2,一个groovy文件,可能是之前的程序员 试着写的一个程序但是 成功率不是很高
失败的方案
1,试着理解groovy中的代码,想要将其修改成能够提取我想要的内容的代码。但是,发现完全没有安装groovy的IDE的知识,浪费了两天去安装grails和他的IDE,但是不记得为什么 但是就是很多的不成功的地方。同时也在尝试用java去编译groovy文件,发现非常麻烦,最后放弃。
http://briantarbox.blogspot.co.uk/2009/01/tutorial-for-adding-groovy-to-java.html
2,之后试着问一下国内的朋友,给我推荐用java去写一段代码,可以试着使用jsoup去解决问题,但是过程中发现
http://cjp1989.iteye.com/blog/1812285 例子1
http://my.oschina.net/bigyuan/blog/98115 例子2
http://jsoup.org/cookbook/extracting-data/attributes-text-html jsoup cookbook
3,在找的过程中发现一个网站 http://www.datafiddle.net/edit/U1KNctLrJwAAAAAC# 一个个人爱好者自己编写的网站,可以提取到想要的网页上的信息。之后编写了相应的r程序,和这个网站结合,得到了第一份想要的结果。但是因为html和javascript的知识的欠缺,所以找到了一半左右错误的信息。
期间跟网站的主人聊天,发现这个网址的内容很有意思,有空看一下,或试着自己创建一个类似的网站
http://code.tutsplus.com/tutorials/how-to-scrape-web-pages-with-nodejs-and-jquery--net-22478
http://www.dataguru.cn/forum.php?mod=viewthread&tid=179793 这个有空也要读
http://officevbavsto-en.blogspot.com.br/2012/06/vba-internet-acessing-web-pages-through_15.html?m=1
http://jquery.com/download/#Download_jQuery jQuery介绍
4,之后找到了一个视频 Get web page data into Excel using VBA ,试了半天的时间发现不可取,实习的地方电脑上excel没有VBA,自己的电脑弄起来跑的又太慢了!决定放弃
https://www.youtube.com/watch?v=cSoRVZKRkvY
http://office.microsoft.com/en-ca/excel-help/get-external-data-from-a-web-page-HA010218472.aspx#BMlearn_more_about_getting_external_dat
http://www.tushar-mehta.com/publish_train/xl_vba_cases/vba_web_pages_services/index.htm
http://officevbavsto-en.blogspot.com.br/2012/06/vba-internet-acessing-web-pages-through_15.html?m=1
成功的方案
最后决定还是回归自己最熟悉的R,http://files.meetup.com/1503964/2010-06-24_WebScrapeIntro.pdf 通过这篇pdf, 找到了需要的方法 XML中的htmlTreeParse 函数,文章解释的很好,如果有想做类似的工作的同学们 一定要好好看一下。然后通过另一篇对XPATH的介绍,终于解决了问题!
http://www.biostatistic.net/thread-95221-1-1.html XML和XPath使用方法备忘
http://mazamascience.com/WorkingWithData/?p=912 Using R — Basic error Handing with tryCatch()
http://cos.name/cn/topic/17816 R不务正业之RCurl
http://stackoverflow.com/questions/8343760/r-xpathsapply-get-node-text-without-getting-text-from-its-children
http://f.dataguru.cn/thread-163415-1-1.html 关于R抓取网页的一点分享
下班了 先写到这 明天再补充吧