搜尋
首頁後端開發php教程该选择哪个语言开发爬虫?

需要开发个采集腾讯、新浪微博的评论数据。
如果直接使用官方提供的API,会有很多数据获取不到。所以可能得自己写了。
我主要是想使用C++来开发的,其次才是PHP。在没办法的情况下,才会考虑使用python进行开发!
网上大概了解了下,很多采集程序都是使用python来开发的。因为python的网络库很多,很丰富,开发起来方便快捷。
PHP的也有个snoopy类库,C++的就不清楚了。
不知道,C++中有没有这方面的爬虫类库推荐呢?

回复内容:

需要开发个采集腾讯、新浪微博的评论数据。
如果直接使用官方提供的API,会有很多数据获取不到。所以可能得自己写了。
我主要是想使用C++来开发的,其次才是PHP。在没办法的情况下,才会考虑使用python进行开发!
网上大概了解了下,很多采集程序都是使用python来开发的。因为python的网络库很多,很丰富,开发起来方便快捷。
PHP的也有个snoopy类库,C++的就不清楚了。
不知道,C++中有没有这方面的爬虫类库推荐呢?

参考

C/C++ 网络爬虫

推荐Python。有requests等类库。
也有scrapy这样的框架。

python 唯一的好处就是 request 库真的很方便

我以前都是用 php 做爬虫的,现在都改用 python 了


其实用 JavaScript 也是很好的,node 或者 phantomJS

因为很多时候你不仅要把 HTML 爬下来,还要解析;而 python 的 DOM 库简直糟糕透顶;比如 BeautifulSoup,很多操作就非常不方便;相比之下,js 进行 DOM 操作就方便多了

弱弱的推荐一下 php 的 goutte

毫不犹豫golang

用python 没有原因

表示采用java,jsoup,http://www.husters.cn/ 抓爬的

  1. 有较好地html获取和解析支持。
  2. 有较好地并行控制。
  3. 方便处理异步任务。
  4. 容易开发DSL。(假如你需要用户自定义抓取路径的话。)

以前写过好几个版本的爬虫,供参考。http://niejason.sinaapp.com/?p=66

snoopy类库很久以前用过,不过感觉不是很好用。功能一般。
其实爬虫最网页请求那一块比较容易实现,也没有什么好说的。其实最主要是对请求回来的数据处理,分析。
所以我觉得用node.js会是很好的选择。

看看那位童鞋推荐下node.js有什么好的库。

node.js的jquery也不错。。。

建议用node, phamtomjs, node的jQuery, 还有jsdom, node下面很多解析html的包,非常方便

我觉得不是说选择哪个语言,主要是看开发者对哪个语言最熟悉。

如果是我的话,我会用 Node.js

Node.js 有一个 Cheerio 库,用来解析 HTML 效率十分不错。它的 API 风格是类似 jQuery 的。

啥都不说,肯定是python

需要开发个采集腾讯、新浪微博的评论数据。

目的明确了,解决的思路也不难。你的爬虫的主要功能就是

  1. 能向服务器进行通信,返回你需要页面的内容
  2. 解析页面源码,挖掘出你需要的信息
    python是一个不错的推荐,解决两个问题都有完善的库。
    比如urllib2解决http请求,lxml 解决页面源码的解析(解析成html树)。
    关键步骤就是在解析后生成的html树中,找到所需信息,需要自己完成:
    分析信息在html树中所在的位置,并告诉你的程序去对应位置(利用xpath来定位)抓信息
    写过一个python抓取douban日志名称,URL,评论数,发布时间的爬虫。
    能解决基本的挖掘需要后,再来考虑如何能更快及应对大型数据,目前了解的方法有iterparse方法,多线程等。

p.s
为什么是lxml?参考lxml performance

爬虫基本上就是网页抓去+内容分析了吧。

我也建议选择类库简单丰富的语言,比如Python和Ruby应该都不错。

Ruby可以选择的有Crul,mechanize,nokogiri,hpricot等。

php里有phpQuery,语法和jquery差不多,非常的好用!

Perl
竟然没人推荐..

golang 是个不错的选择

用python吧,你会发现有很多优点。。。

每个语言都可以,基本的爬虫只要涉及到一些HTTP请求和文档解析就能做出来。
Python有Scrapy等框架,上手比较快,可以研究一下。

爬虫无非就是获取网页内容,解析内容,正则出想要的数据,其实对于网页内容获取,任何语言都能获取,注意代理服务器防封IP,并行抓取等技术,个人感觉php 获取网页内容还是不错的,至于解析网页内容,基本上都是DOM的操作,那最佳选择还是nodejs,里边的cheerio很好的解决树形结构数据。

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
可以在PHP會話中存儲哪些數據?可以在PHP會話中存儲哪些數據?May 02, 2025 am 12:17 AM

phpsessionscanStorestrings,數字,數組和原始物。

您如何開始PHP會話?您如何開始PHP會話?May 02, 2025 am 12:16 AM

tostartaphpsession,usesesses_start()attheScript'Sbeginning.1)placeitbeforeanyOutputtosetThesessionCookie.2)useSessionsforuserDatalikeloginstatusorshoppingcarts.3)regenerateSessiveIdStopreventFentfixationAttacks.s.4)考慮使用AttActAcks.s.s.4)

什麼是會話再生,如何提高安全性?什麼是會話再生,如何提高安全性?May 02, 2025 am 12:15 AM

會話再生是指在用戶進行敏感操作時生成新會話ID並使舊ID失效,以防會話固定攻擊。實現步驟包括:1.檢測敏感操作,2.生成新會話ID,3.銷毀舊會話ID,4.更新用戶端會話信息。

使用PHP會話時有哪些性能考慮?使用PHP會話時有哪些性能考慮?May 02, 2025 am 12:11 AM

PHP会话对应用性能有显著影响。优化方法包括:1.使用数据库存储会话数据,提升响应速度;2.减少会话数据使用,只存储必要信息;3.采用非阻塞会话处理器,提高并发能力;4.调整会话过期时间,平衡用户体验和服务器负担;5.使用持久会话,减少数据读写次数。

PHP會話與Cookie有何不同?PHP會話與Cookie有何不同?May 02, 2025 am 12:03 AM

PHPsessionsareserver-side,whilecookiesareclient-side.1)Sessionsstoredataontheserver,aremoresecure,andhandlelargerdata.2)Cookiesstoredataontheclient,arelesssecure,andlimitedinsize.Usesessionsforsensitivedataandcookiesfornon-sensitive,client-sidedata.

PHP如何識別用戶的會話?PHP如何識別用戶的會話?May 01, 2025 am 12:23 AM

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

確保PHP會議的一些最佳實踐是什麼?確保PHP會議的一些最佳實踐是什麼?May 01, 2025 am 12:22 AM

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

PHP會話文件默認存儲在哪裡?PHP會話文件默認存儲在哪裡?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器