はじめに
テキストベースでウェブサイトの情報を拾いたい時には、これまで普通に cURL を使っていた。出力を拾ってあれこれやろうと思うといろいろ大変かなぁと思っていた。しかし Python には PycURL という強い味方があったのだ。これで行ける!と喜んだのもつかの間...
つまづく
早速 PIP インストールして使おうとしたらエラーが出る。現物のエラーをコピっておくのを忘れてしまったが確かこんな感じのエラーだったように記憶している。
pycurl: libcurl link-time ssl backend (nss) is different from compile-time ssl backend (openssl)
ようは何を言っているかというと Compile 時の SSL ライブラリと libcurl の Link 時の SSL ライブラリが一致してないよということらしい。それを合わせてあげる必要がある。
Network Security Services について(wikipedia)より
とりあえず私が対処した方法は以下の通りで、一旦 pycurl をアンインストールして、環境変数で PycURL のコンパイルオプションで SSL ライブラリを nss に変更してあげたらちゃんと動いた。
# pip uninstall pycurl
# export PYCURL_SSL_LIBRARY=nss
# pip install pycurl
おわりに
本当はこういうのはハマった時に対処しながらブログなり Qiita なりにまとめるべきだと思った。いっつもハマったことを解決できた瞬間にわーいと忘れるので成長しないのだなぁと思っている。