2023年6月29日发(作者:)
哪种语⾔合适写爬⾍程序哪种语⾔合适写爬⾍程序发布时间:2014-06-04 发布者: 标签:1、如果是定向爬取⼏个页⾯,做⼀些简单的页⾯解析,爬取效率不是核⼼要求,那么⽤什么语⾔差异不⼤。当然要是页⾯结构复杂,正则表达式写得巨复杂,尤其是⽤过那些⽀持xpath的类库/爬⾍库后,就会发现此种⽅式虽然⼊门门槛低,但扩展性、可维护性等都奇差。因此此种情况下还是推荐采⽤⼀些现成的爬⾍库,诸如xpath、多线程⽀持还是必须考虑的因素。2、如果是定向爬取,且主要⽬标是解析js动态⽣成的内容此时候,页⾯内容是有js/ajax动态⽣成的,⽤普通的请求页⾯->解析的⽅法就不管⽤了,需要借助⼀个类似firefox、chrome浏览器的js引擎来对页⾯的js代码做动态解析。此种情况下,推荐考虑casperJS+phantomjs或slimerJS+phantomjs ,当然诸如selenium之类的也可以考虑。3、如果爬⾍是涉及⼤规模⽹站爬取,效率、扩展性、可维护性等是必须考虑的因素时候⼤规模爬⾍爬取涉及诸多问题:多线程并发、I/O机制、分布式爬取、消息通讯、判重机制、任务调度等等,此时候语⾔和所⽤框架的选取就具有极⼤意义了。PHP对多线程、异步⽀持较差,不建议采⽤。NodeJS:对⼀些垂直⽹站爬取倒可以,但由于分布式爬取、消息通讯等⽀持较弱,根据⾃⼰情况判断。Python:强烈建议,对以上问题都有较好⽀持。尤其是Scrapy框架值得作为第⼀选择。优点诸多:⽀持xpath;基于twisted,性能不错;有较好的调试⼯具;此种情况下,如果还需要做js动态内容的解析,casperjs就不适合了,只有基于诸如chrome V8引擎之类⾃⼰做js引擎。⾄于C、C++虽然性能不错,但不推荐,尤其是考虑到成本等诸多因素;对于⼤部分公司还是建议基于⼀些开源的框架来做,不要⾃⼰发明轮⼦,做⼀个简单的爬⾍容易,但要做⼀个完备的爬⾍挺难的。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1687984109a63727.html
评论列表(0条)