2007-09-01から1ヶ月間の記事一覧
http://use.perl.org/~miyagawa/journal/34461 また真似してUser-Agentの変更とhandlerの指定を出来るようにした。UserAgentの変更がうまくいっているかをdebuglevelが1のHTTPHandlerをつかって 確認する例。 #!/usr/bin/env python2.5 #-*- coding: utf-8 -…
http://permalink.gmane.org/gmane.comp.python.lxml.devel/2956 http://codespeak.net/lxml/dev/changes-2.0alpha2.html lxml · PyPI http://codespeak.net/lxml/dev/
http://use.perl.org/~miyagawa/journal/34457 また便利になってる。 相対URIは絶対URIに自動変換 (img@src, script@src etc) 便利なショートカット、HTML,RAWの追加 2の方はすでにクリアしてるので1の方はPython版でもlxmlのmake_links_absolute()で自動変…
次はhttp://menno.b10m.net/blog/blosxom/perl/scraping-yahoo-search-with-web-scraper.htmlと同じことをやってみる。比較しやすいようにPerlのコードも並べてみた。 コードの量も見た目もあんまり変わらない。 Perlは括弧がなくてすっきり、Pythonの方はセ…
HTMLパースするときにはlxml.htmlを使う etree.parse(url, etree.HTMLParser())みたいにParser明示的に書かなくてもOKだし、便利なメソッドも使える。 etree.parse(URL)と書かず、自分でurlopen & decode parse(URL)と短く書けるようになってるけど、UTF-8じ…
Web::Scraper の"Twitter Friends (complex)"ができるようになった。 s = scraper( process('span.vcard', people=scraper( process('a', link='@href', name='@title'), process('img', thumb='@src') ) ) ) 下のパッチ加えただけ。 + elif hasattr(val, 's…
http://use.perl.org/~miyagawa/journal/34398第二弾。普通にtextで取れた。 s = scraper( process("script", js="text"), )
Google グループ 昨日書いた、「Pythonはリストや辞書の中にある日本語をそのままprintで表示できない」という問題の解決方法が紹介されていました。 print (repr(s.scrape('http://d.hatena.ne.jp/keyword/%BA%B0%CC%EE%A4%A2%A4%B5%C8%FE')).decode('unico…
http://use.perl.org/~miyagawa/journal/34325の真似をできるようにした。 #!/usr/bin/env python2.5 from scraper import scraper, process import codecs, sys sys.stdout = codecs.getwriter('utf-8')(sys.stdout) s = scraper( process("//a[contains(@h…
lxml2.0からCSSSelectorが導入されたので、Web::Scraperのようなものを作ってみました。 とりあえず動作するところまでいったので載せておきます。機能はまだ全然足りてないので、簡単なことしかできません。 Python2.5とlxml2.0alpha が必要です。Pythonは…
ちょっと必要な場面があったので作った。 // ==UserScript== // @name Comment Exposer // @description Make all comments visible // ==/UserScript== (function() { var textnodes = document.evaluate( "//comment()", document, null, XPathResult.UNOR…
Python 3.0a1 Release http://python.org/download/releases/3.0/ おめでとうございます。 MacPortsでもすでに用意されているようです。 $ port search python3 python30 lang/python30 3.0a1 An interpreted, object-oriented programming language あ、por…