2012年4月10日火曜日

jqueryのAPI見ながらcherrioを使ってたらうわあああああああああ

cheerioで :first とか、 :nth-child(n) のセレクタがうまく動かなかったんだ。
あれー 書き方おかしいのかなーHTMLが悪いのかなーとか小一時間悩んでた。

オチ

マニュアルちゃんと読もうね!


まぁ用は内部でjQueryとか呼び出してないよ!jQueryっぽいけど違うよ!ってことでした。

2012年4月1日日曜日

jsdomが「possible EventEmitter memory leak detected」とか言うので、かわりにcheerioを使ったら解決した。

nodeでwebスクレイパーを作りたかったので、
下のサイトを参考にjsdomを使って、作ってみた。
http://sakuratan.biz/archives/3393

cookieとかにも対応したいので、httpじゃなくてrequest、
お、jqueryで操作できるとかアツイじゃん、ってことでjsdomを使ってた。

https://github.com/tmpvar/jsdom
https://github.com/mikeal/request


で、jsdomでjqueryオブジェクト作って操作するあたりで謎なエラーが出た。


(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit. 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.
^
SyntaxError: Unexpected token <
        $(window).unload(function(){
 ^
ReferenceError: $ is not defined


なのでjsdomのかわりにcheerio使ったら解決したというお話。