2011年7月20日水曜日

vimからのHTMLコンバートのテスト

こんどからこれでコードを貼り付けていこう〜

 1 <html>
 2   <head>
 3     <title>Test</title>
 4   </head>
 5   <body>
 6     <div id="wrap">
 7       <div id="header"></div>
 8       <div id="content"></div>
 9       <div id="footer"></div>
10     </div>
11   </body>
12 </html>

2011年7月11日月曜日

FBのフレンドの間でけっこう流行っているNyan catをまとめます。

これは中毒性があります。

どこが面白いのか??

「何度も見てしまう中毒性」です。

 

最近、虚構新聞の存在が話題になっているので改めてどんなサービスなのか自分なりに整理してみる。

Kyoko

http://kyoko-np.net/

 

今日の朝、こんな記事を見ました。

 

「フォロワー300人以下は強制退会 SNS化を徹底」

http://kyoko-np.net/2011071101.html

 

なんとなくうそっぽい題名なので、虚構新聞だろうなぁと思ったらやっぱりそうでした。

ちょっと前に「Twitter有料化」云々の記事で、あまりよくない話題になっていましたが、それに懲りず活動を続けていて感心してます。

 

「Twitter有料化」の時は、僕の周り(Twitterのフォロワーの方)で釣られた方はあまりいなかったです。

一人だけ釣られたっぽい方を発見したんですが、もしかしたらその人は「釣られた振りをして居るだけなのかもしれない。。」と思い、特に突っ込んだりしませんでした。

 

虚構新聞というのは結構、昔からあるWEBページなので慣れている人からすればジョークとして理解できるんですが

そうでない人には少し悪質なサービスに感じてしまうかもしれません。

 

今回は、そんなネガティブな発想の方に「ああ、そういう楽しみ方をすればいいんだ。」と納得頂けるようなエントリを書きたいと思います。

 

 

-虚構新聞の歴史

2004年3月に、滋賀県在住の講師・UKによってすでに運営されていた個人ホームページ「楠木坂コーヒーハウス」上で、UK自身がエイプリル・フール限定のウソのニュースを掲載した事に端を発している。「1本だけ書くつもりがまとめて3~4本書いた」(UK・以下同)[1]そのウソニュースが好評を博し、その後もエイプリル・フールにとどまることなく、月に1~2本のペースで新しいウソニュースを投稿、20本ほどたまったところで「虚構新聞」としてサブページ化する事を思い立って作成されたものである。[1]

wikipediaより引用

 

こんな感じで始まったサービスらしいです。

2004年よりもっと前からあったような。。。。。。

そう思うくらい、コアなネットユーザーとしては馴染みの深いサービスだと思います。

一定期間で必ず更新されて、どっかのサイトにリンクが貼られているので「また、このページかよww?」っていう感動を僕らに常々与えてくれていました。

不思議です。内容はデタラメなのに、WEBコンテンツとしては一級品としての価値があるように思えます。

 

-なぜ面白いか

人それぞれ感想をお持ちだと思うんですが、僕なりになぜ面白いか分析したところ下記のような要素があります。

 

--インターネットの情報を鵜呑みにすることの危険さへの警告-

僕は、虚構新聞のサイトにアクセスするたびにインターネットの情報というものは鵜呑みにできないものだなぁ。。。と考えさせられます。

それは、正しい情報分析能力を開発する助けとなっている気がします。

 

--虚構と謳っているからこそ可能な社会的風刺-

内容をいくつか読めば、実感出来ると思うんですが、結構社会的な風刺が聞いててそれは真実として機能していると思うんですね。

そして、多くの現実の報道の風刺はどれも終わったことに対してしか訴えられませんが、

虚構新聞の場合は未来起こり得ることを先立って風刺しているのがいいですね。

 

--多くの記事が嘘でよかったと思える内容-

20110401 1930275

ちょっと、ドラえもんの画像をWEBから引用させて頂いたんですが、言いたいことわかりますよね?w

 

--ポリシーのある運営

2004年4月からの運営ということは、、、もうすぐ7年目です。

これだけ歴史の深いウェブサイトってなかなかないと思います。

一人だけで運営しているらしい(嘘か真かわからないが)にも関わらず、こうやって根気よく続けているのは本当に尊敬出来ることです。

ポリシーがあるからこそ運営なさっているんだろうなぁ。と思います。

WEBクリエーターとしては尊敬に値するサイトといえるのではないでしょうか。

 

 

他にも色々書くべきところがあると思うんですが、こんなところでエントリを終えます。

ちなみに、虚構新聞の広告って全部偽物だと思ってたんですが、GoogleAdsenseが貼られてますね。

つまり、Googleにちゃんとコンテンツとして認められているわけで。。。

すごいですよね。

 

では。

 

 

2011年7月10日日曜日

こういうTwitterの使い方をしていると頭がだんだん馬鹿になると思うこと。

Twitter bird logo by ipotion

Twitterってはまると抜け出せない中毒性がありますよね。

タバコの中毒性と似てると思います。

筆者はタバコは値上がりした時期にすぐに抜け出すことが出来たんですけど、Twitterからはなかなか抜けだせません。

 

煙草の場合は百害あって一利なしという風によく言われますが、Twitterも似たようなところがあると思います。

というと、語弊がありますので、訂正すると「害もあり利もある」というのが正しい分析だと思います。

 

そこでどういう使い方が害なのか、利なのか、ということを自分なりにまとめて見たいと思い、このエントリーを書くことにしました。

余り文章を書くのが得意ではないので箇条書きでまとめます。

なお、個人的な見解なので異論等あると思いますが、その場合気軽にコメントなどで意見なさってください^___^

また、「サービスの使い方はこうあるべきだ」と主張することはあまりCOOLではないと思いますのでこれを読んで影響受ける必要はないと思います。

使い方は「人それぞれであるべき」というのがベストだと思いますので「ああ、こういう意見もあるんだ〜」って言う風に読んでください。

 

害になると思うこと

  1. 主に情報[つぶやき]を受信目的のためにつかう
  2. ブログの発信を怠ること
  3. 自分の生の感情ばかり発信する。
  4. やたら有名になる

-解説-

まず、「主に情報[つぶやき]を受信目的のためにつかう」についてです。

インターネットにはいろんな意見が拡散してますので、100%正反対と思える内容がさも真実のように、それぞれと主張されています

意見の利き手ばかりになっているとあの情報も正しいし、この情報も正しい、、、と一見、柔軟な思考を持つことができる、知識が広がると錯覚しがちですが実際はただの優柔不断な性格になっている場合が多いです。

そういうふうになると、実際の仕事場などで自分の意見を主張するのが下手くそになってしまうので要注意です。

 

次に、「ブログの発信を怠ること」です。

Twitterでつぶやいてばかりいると、必ずブログの更新頻度が少なくなります。これはTwitterの情報発信コストが低いというメリットが働いていると思うんですが、140文字以内でしか情報発信をしないとだんだん文章構成能力が衰えてくるので注意しなくてはなりません。

日頃から頻繁に文章を書く仕事をしてれば問題ないと思うんですが、そうでない環境の方は本当にに話す内容がバカっぽくなるので、「長文を書かない習慣がつく」というTwitterの特徴は大変危険です。

 

そして、「自分の生の感情ばかり発信する。」です。

例えば、「あち〜〜〜」とか、「カレーうまかった〜〜〜」とか個人の感想系の話題ばっかり呟くことです。

このレベルであれば、否定べきではないとは思います。むしろ、一日に数回(他人が不快に思わない程度の回数)であればささやかなツイートだと思います。

しかし、そういう内容を一日に連続で投稿したり、「死にたい。。。」みたいなネガティブなつぶやきをしている人は要注意です。

まず、アンフォローされる確率が大幅に増えます

そして、こういうことを呟くと、自分だけは何故か満足してしまい(他人はうざいと感じているのに)自己中心的な性格になっていくのです。

極端なことを書いている気がしますが、こういう行為が習慣化すると確実に人格に影響してくると思うので(Twitterは中毒性があるので)、決して過言ではないと思います。

自己中心的というのは決してよいことではないと思います。

 

最後に、「やたら有名になる」です。

インターネットでは単なる一般人がなぜか一昔前のような有名人になることがあります。そういう人は憧れの対象となる一方、妬みの対象ともなりますので、ネガティブなコンタクトを受ける機会が増えます。精神的に強くないと、ひどいトラウマを抱えることになると思います。それがきっかけでインターネット恐怖症になることだってあると思います。

インターネットというのは間違いなく、人々が今後、密接に付き合っていかなくてはいけない、うまく利用していかなくてはいけないツールだと思います。

そのインターネットに対して、トラウマになったりするのって大変残念だと思うんです。

決して、有名になってはいけないというわけではないんですが色々リスクもあることを覚悟したほうがいいと思います。

 

他にも色々あると思いますが、今思い浮かぶのはこんな所です。次に利になることを解説していきます。ほとんどが前者と相反する内容です。

 

利になると思うこと

  1. 情報[つぶやき]を発信目的のために活用する。
  2. ブログをあわせてどんどん書いていくこと
  3. リアルな人間関係を構築するツールとして利用すること

-解説-

最初に「情報[つぶやき]を発信目的のために活用する。」です。

僕は、最初Twitterは「有名人のつぶやき」を聞ける面白いツールという認識を持っていたんですが、それは、あまり大きな利点ではありません。

様々な情報が行き交ってますので、情報を受信する事自体はメリットにならないのです。それらを選別して知識に取り込む必要があります。

(現在はGoogle先生ががんばって良いコンテツのみの抽出に頑張って頂いているが、ネットを使うに当たって必要な心構えだと思う。)

 

どうやって選別するか??という方法ですが。それは自分の考えを発信する習慣をつけることです。

自分の考えを明確にする。これが大事です。

日常会話でも、言葉のキャッチボールをしないと会話になりませんよね?

Twitterも含め、インターネットも日常会話と一緒だと思います。

受けた情報(ボール)は、投げ返さないといけません。

投げ返す対象はネットじゃなくても構いません。家族や友人、職場の人々でも、コンピュータに対して(コーディング)でもOK

でも、同じインターネットに投げ返すと可能性はもっと大きく広がると思います。

そうすることによって初めて、インターネット上での情報を選別する能力がつくと思います。

下手くそな文章でも構わないと思います。(そう言わないと自分が文章を書くのが得意じゃないので)

 

そして、そういう人はネット上でも評価の対象と成り得ます。

それって嬉しいことですよね??僕はそう思います^__^

 

次に、「ブログをあわせてどんどん書いていくこと」です。

そんな頻繁に書く必要はないと思うんですが、ある程度長い文章をブログに書くことは非常に良いことです。

TwitterにはRTやQTという便利な機能があって、さも自分が主張しているように他人の意見を主張できてしまします。(しかも手軽に)

 

これって、便利すぎるのが逆に弊害で、、、言葉に責任の重さがないんですよね。

責任のない言葉ばかり、吐いていると、ろくな大人にはなりません。。。。

重い責任を背負いきってこそ、成長していけると思うんです。

だから、ブログ(ある程度長い文章での情報発信)は非常に重要なことだと思います。

 

最後に「リアルな人間関係を構築するツールとして利用すること」です。

 

どんな人間関係が「リアルな人間関係」なのか定義するのは難しいと思うんですが、それは自分が「リアル」だと思えばそれが「リアル」だと思います。

自分なりの定義でOKです

僕は「自分の利益につながる人間関係」って決めてますが、人それぞれでいいと思います。

(ほんとは実際に会ったり、プロジェクトを進めたりできる人間関係も構築していきたいんですけど今のところそこまでインターネットをうまく利用できていません。)

 

そういうリアルな人間関係を構築するための仕組みとして働いているか??

ってことをたまに考えてあげるといいと思います。

 

 

さて、今日のエントリーはこんなところでおしまいにします。

実は、このエントリを書こうと思ったきっかけは「未成年のTwitter利用について」云々な内容の記事を読んでその所感を書いてみたくなったからです。

自分は小さい子どもはいませんが、子供が大人以上にネットを活用している現代なので、大人はもっとインターネットに対して理解を深めるべきだよなぁ。。。って思ったんです。

そして、正しい使い方を導く必要があるのかもしれない。。。

(ただ子供の方がよっぽど理解が深くて、逆に学ばされるかもしれない。。。)

 

 

 

なんていうようなことを思いつつ、今回のような題目をテーマに文章にしてみました。

ちなみに僕は今まで、馬鹿になるような使い方をしていましたw

油断するとそうなってしまうので、今後そうならないよう、心がけたいと思います^__^

なにか、共感頂ける部分があったりご意見があれば、フィードバック、コメント等頂けると嬉しいです。^__^

2011年7月9日土曜日

Google extentionsが簡単に作れるらしいので早速作ってみた。

参考したサイトはこちら

トラねこblog:簡単なGoogle Chromeの拡張を作ってみる その1(Simple Clock) - livedoor Blog(ブログ)

Google Chrome Extensions Tutorial: Getting Started (Hello, World!)

 

あとGithubで"chrome extentions"で検索して出てきた結果のいくつかのソースも参考にしました。

 

作ったものは。。。こんなんです。

Pic 2011 07 09 21 32 21

よく使うGoogleのサービスへのリンクボタンです。

わりと便利です。(*^^)v

 

ソースはgithubに置きました。(今回はじめてPushしてみました。いまいち使い方が理解できてないままで申し訳ない。。。)

https://github.com/nihitok/myGoogleMenu

 

 

 

今後は、どんなにつまらないプロジェクトでも、”公開する”という行為に慣れていきたいと思いますので

積極的にGithubを使っていきたいと思います。

 

で、作り方をかいつまんで説明すると

  1. まず、プロジェクトの名前のフォルダを作成
  2. そのなかに「manifest.json」という名前のファイルを作成。
  3. manifest.jsonの中に色々な決まりを書いていく(GAEでいうとapp.yamlみたいな存在)
    こんな感じの内容↓
    Pic 2011 07 09 22 17 32
  4. popup.htmlっていうのが今回の場合下記画面のポップアップウインドウメニューの内容が記載されているファイルです。
    Pic 2011 07 09 21 32 21
  5. popup.htmlは普通のHTMLを書く要領で書いていく。
  6. こんな感じに外部jsも読み込みできる。
    Pic 2011 07 09 22 21 14
  7. そのほかhttp://code.google.com/chrome/extensions/getstarted.htmlをみるとブラウザの挙動など色々操作できるメソッドがあるらしい。

 

書いたコードを実際に試すときはchromeをデベロッパーモードにして”パッケージ化されていないファイルを読み込む”っていう項目からプロジェクトのフォルダを読み込むと使えるようになります。

 

"こんなのがChromeで出来たらなぁ〜〜"っていう願望が結構あるので、そういうとき簡単に実現できることがわかった。

面白い遊び道具になりそうです。。。(*^^)v

sora_h君にブロックされたので、反省するためにその顛末をブログを書いてみる。

Rubyの若き開発者として有名なsora_hくん。

僕は、彼のちょっと生意気だけど若い世代のリアルを感じさせるツイートのファンでTwitter上でFollowしていたのですが今日、ブロックされてしまいました。

ブロックされた。。。(´・ω・`)

とてもショックでした。

今回、その顛末をブログに書いて、できればsora_h君に釈明をしたい。。。

そう思って、今キーボードを打ってます。

 

まず、ブロックされた原因は僕にあると思います。思いつく原因としては

 

自分のミーハーな性格(死語?)

馴れ馴れしすぎるコンタクト(Reply)

キモイUTF-8のかおもじ

気遣いの無さ

 

です。

 

具体的な顛末と一緒に説明しましょう。

 

まず、僕は今日(ブロックされた日)、google+が使えるようになったので大変テンションが高くなっていました。

新しいサービスを使うというのはとても楽しいことです。それがGoogleのサービスであればなおさら。

 

僕は"follow中"というサークル(google+)にTwitterでもfollowしている人を設定していこうと思い、

その中の一人としてsora_hくんもfollowしました。

 

そこで気付いたのが、Google+というのは始まったばかりのサービスなので利用者のネットワークがそれほど多く無いことに気付きました。

 

ちょっと分かりにく説明なので例をひとつ上げます。

例えばTwitterであれば、sora_hくんはフォローされているリストが3000以上ととても多い人数なので誰が自分をフォローしたかというということはあまり気にしないことだろうと予想できます。

しかし、Google+は始まったばかりのサービスなので、僕が確認した時のsora_hくんをフォロー中のユーザーは300人弱です。

300人でも大人数だと思いますが、Twitterと比べたら分母は少ないので、

「コンタクトしてみたら反応があるかもしれない。。。」

 

って思ったんですね。

これが僕の一つ目の反省すべき点、「自分のミーハーな性格」です。思えば自分の考えが恥ずかしいったらありゃしない。。。

ミーハーというのは"世の中流行芸能人動静に熱中したり、影響を受けやすかったりするような者に対しての呼称である" wilipediaより です。

今の世の中、インターネットの普及により、一昔前ではまるっきり手の届かなかった大人物にもネットを通してコンタクトが可能になりました。

僕は結構、こういった理由で有名人の方にQTしたりしてます。ほんと男のくせに恥ずかしいです。女みたいですよね><

 

ただ、結構、こういうミーハーな性格の人は多いみたいで、近頃のSNSが流行ったのもこんな僕のように虚栄心が強い庶民のがいるこそ、という説もあるみたいです。

それに、こういった行為事態は悪いことではありません。庶民ならみんなこういう願望をもってしまうものです。

 

僕の場合は、他にも悪かった点があります。

 

とにかく、そんなこんなで、sora_hくんにコンタクトしてみようと思ったのです。

伝えたかったこととしては、日頃、興味深いツイートをフォローさせてもらってるのでその感謝の意です。

実際に送ったのはこんな文章です。

Pic 2011 07 09 10 51 00

送った時はそれほど悪い文章ではないと思っていたのですが、(ただ、もしかしたらあまり印象の良くないアイコンかもしれない。。。)これをツイートしてから、約3~5秒後にsora_hくんはこのようなツイートをしました。

Pic 2011 07 09 11 23 01

あいかわらず、ちょっと刺のある言い方ですけど、そういうオブラートがない無垢なツイートが彼のツイートの魅力なんですよね。

大人には出来ないツイートなので、そこに価値があると思ってます。

 

ツイートの内容を見て自分のことじゃないだろうな。。。。と思いちょっと心配になってお気に入り登録してあります。

で、ちょっと彼のツイートを拝見したら

Pic 2011 07 09 10 41 17

オレンジのところはsora_hくんのフレンドです。(一応隠してあります。)

で、短縮URLは僕のツイートです。

 

どうやらキモいと思われてたみたいです。。。。。

もしかしたら(。◕ ∀ ◕。)←この顔文字がよくなかったのかもしれません。

これが「キモイUTF-8のかおもじ」です。

 

Pic 2011 07 09 11 28 10

続いてこのようなことを。。。。

どうやら、僕は「めんどくせー人種」として捉えられたみたいです。

 

多分、経験してみると共感頂けると思うのですが、「自分を否定される」ということはとても悲しいことです。

しかも、直接的にではなく、間接的に否定されるというのは気持ちのよいものではありません。

 

実際、僕はこれを見たときとても悲しかった。。。

 

でも、sora_hくんのことを責めることは出来ません。

たしかに、僕は”めんどくせー人種”と言われても否定出来ないですから。。。。

 

でそこで改めて思ったんです。

常人なら本当にめんどくさいことは言葉や行動には表さない。

彼は違いました。

めんどくさいにも関わらず、自己の主張を述べてくれているわけです。

 

そこで、やっぱり、sora_hくんはすごい。。。。

と思い、謝りたいと思いました。そこで、こんなReplyをしました。

Pic 2011 07 09 10 50 46

 

なぜ、"w"という記号をつけたのか、、、ちょっと悔やんでます。

これが「馴れ馴れしすぎるコンタクト(Reply)」です。

相手が例え年下でもネチケット大切ですよね。もっと、丁寧かつ誠実な文章を心がけるべきでした。

やわらかいニュアンスを出したかったんですが、、、

これが「気遣いの無さ」です。

そして、すぐこんなツイートが現れました。

Pic 2011 07 09 10 40 47

 

「まじかよ!!!」

って思って、確認したら本当にブロックされてて、その行動の速さにびっくりしました。

ブロックするまで5分もなかったような。。。。

ぼくなんて、本当に無視したい人にはブロックする行為すら面倒でなにもしないんですけど、、、、(何度も届くスパムは別)

彼は違う、、、、行動にすぐ移します。。。。

 

正直、憤りの感情がこみ上げました。

さっきも言いましたけど、”否定される”ということはとても気分の悪くなることですから。。。

その”否定されたことに”対して、大変不愉快な気持になった。。。

 

そして、同時にこの無垢な少年になんとか、釈明したい気持ちになりました。(自分のことを分かってもらいたい)

 

まず、自己分析(このブログのエントリーのこと)をしています。

大切な午前の時間をまるまる欠けて、大人気なくこんな文章を書いてます。

 

とにかく、sora_h君に伝えたいこととしては

●僕に悪気はなかったこと。

●僕は、ほんとにショックを受けたこと。(僕の行動が原因だけど)

●そして、今後もその無垢な内容のツイートのファンでいさせて欲しいこと。

(無垢だと言われて嬉しくないかもしれないが、それは本当に凄いことなんだ。)

●あと、勝手にこのような記事を書いていることをあらかじめ謝ります。

(もし、sora_hくんが読んで嫌に思ったら削除します。)

 

ただ、もし君が僕の誠実さを少しでも感じてくれるなら、それに対しては敬意を抱いてくれると嬉しいです。

ただ、そういうことを毎日誰しもに続けていたら、それは疲れることだと思う。

大人になるとそういうことが分かってきて、無視することがもっと上手くなっていきます。

そういう無視がうまくない(形容詞が変かもしれない)ところが、本当に尊敬すべき所だと思います。

 

sora_hくんの"無視する"という行動があまりにも能動的にだったので、レスポンスを返したい気持ちになった。

僕はsora_hくんの友達でもないし、知人でもない。(今後友達になりたいとおも思ってない。)

こんなことを書いているのは大人気ないし、バカげているとも思う。

嫌なこと(否定されたこと)は、早く忘れるのが一番かもしれない。

でも、sora_hくんを見習って自分の無垢な感情をブログに書いてみようと思った。

 

 

そして、自分と同じような感覚をもった同じ庶民の方も少なからずという気もして。。。

今後のwebコミュニケーションのあり方はどんどん変わっていってそれが分析されて明確になっていくと思うんですけど

それを見出すサンプルのような事例かな〜とも思ったので。

 

とにかく、自分の今後のWEBコミュニケーションの仕方を見直す必要性を非常に感じました。

こういう気持ちにさせてくれたsora_h君に本当に感謝!!!

 

ということで、このエントリはおしまいにします。

つまらない話題だったかもしれません。失礼しました。。。。

 

 

補足:

ふと、sora_hくんがブロックしたことについて改めて考えてみたが、もしかしたら過去に何かあって人一倍警戒感が強いのかもしれない。

それに、自分も小さい時には知らない人から声をかけられたら警戒しなくてはならないと教えられたので、未成年である彼としては当然の行為だったのかもしれない。。

それを理解していれば、うかつにReplyなどするべきではなかったのだろうなぁ。。。。と、Replyする行為自体、するべきことではなかったのかも。。。

その時点から自分のミスだったのかも。。。。

 

 

2011年7月8日金曜日

PythonでTwitterのフォローしてない人だけを全てフォロー解除してやる(´。◕ω◕。)

どんな処理をしているかというと簡単で

http://api.twitter.com/1/friends/ids.json?&screen_name=screen_nameで取得できるフォロー中のリストから

http://api.twitter.com/1/followers/ids.json?&screen_name=screen_nameで取得でいるフォローされているリストのuser_idを削除して

残りのゆーざー==”自分をフォローしてないゆーざー”

となるわけなので

それらをoauthtwitterで継承して作ったメソッドdestroy_users_from_queryで削除してます。

 

oauthtwitterについてはここをみて下さい。

http://code.google.com/p/oauth-python-twitter2/

 

 

#!/usr/bin/env python
# encoding: utf-8

import urllib2
import simplejson
import oauthtwitter


#format ここにTwitterの登録情報いれる
consumer_key = ""
consumer_secret = ""
oauth_token        = ""
oauth_token_secret = ""
screen_name = ""

class Twitter(oauthtwitter.OAuthApi):
    """oauthtwitter.OAuthApiに下記のメソッドをついかする〜"""
    def DestoryUser(self, user_id, options = {}):
        options['user_id'] = user_id
        self.ApiCall("friendships/destroy", "POST", options)

    
def destroy_users_from_query():
    twitter = Twitter(consumer_key, consumer_secret, oauth_token, oauth_token_secret)
    json1 = urllib2.urlopen("http://api.twitter.com/1/friends/ids.json?&screen_name=" + screen_name)
    json2 = urllib2.urlopen("http://api.twitter.com/1/followers/ids.json?&screen_name=" + screen_name)

    following_list = simplejson.load(json1)
    followed_list = simplejson.load(json2)
    for i in followed_list:
        if i in following_list:
            following_list.remove(i)
            pass
    num = 0
    print "prgress in deleting..."
    for i in following_list:
        try:
            twitter.DestoryUser(i)
            num +=1
        except Exception, e:
            print e
    return "Unfollowed:"+str(num)+" users"

def main():
    print "まじでやる?(´・ω・`)\n"+"put y"
    query = raw_input()
    
    if query == "y":
        print destroy_users_from_query()
    else:
        exit()


if __name__ == '__main__':
    main()

2011年7月6日水曜日

PythonでHTMLをパースする方法

 

HTMLParserの使い方がぐぐってもあんまりいい方法が出てこなかったのでブログに書きます。

よく使うりんくの抽出ならびにそのばりゅーを取得するクラスです。もっとうまくかけるはずだけどめんどいのであしからず。。。。w 必要な方はカスタマイズなさってください(。◕ ∀ ◕。)

#!/usr/bin/env python
# encoding: utf-8

from HTMLParser import HTMLParser

class My_parser(HTMLParser):#

    def __init__(self):
        HTMLParser.__init__(self)
        self.is_a  =False
        self.href = None
        self.val = None
        self.data = []

    def handle_starttag(self,tagname,attribute):
        if tagname.lower() == "a":
            #aタグの始まり時にself.is_aをTrueに
            self.is_a = True
            for i in attribute:
                if i[0].lower() == "href":
                    self.href =i[1]
                    
    def handle_endtag(self,tag):
        if tag.lower() == "a":
            #おわりにはself.is_aをFalseに
            self.is_a = False
            
            self.data.append({
                "url":self.href,
                "val":self.val
                })
            self.href = None
            self.val = None
                    
    def handle_data(self,data):
        #atagの中にいる時だけばりゅーを代入
        if self.is_a is True:
            self.val = data

def main():
    html ="""
	<h3>test</h3>
	<div>
		<a href="hello.html">hello</a>
    		<a href="world.html">world</a>
    	</div>
    """
    parser = My_parser()
    parser.feed(html)
    print [item for item in parser.data]
    #[{'url': 'hello.html', 'val': 'hello'}, {'url': 'world.html', 'val': 'world'}]

            
                
if __name__ == '__main__':
    main()