初老のパイソナー

40才を手前にはじめてのプログラミングでPythonはじめました

httpを含むものと指定したのに"//www.facebook~"みたいなのが出てくる

問題:http を含むものをピックアップしたいのに //.wwwみたいなのが出てくる

指定のページ内のソースから「http」を含むものをピックアップしようとしているのに

//www.facebook.com/share.php?app_id=&ref=plugin&u=https%3A%2F%2hogehoge.com%2

みたいな httpがないものまで出てきてしまう。

解決策:条件を厳しく指定

if link_url is not None and 'http' in link_url

※link_url はソース内にあるURL文字列

だとダメだったので、もっと条件をきっちり指定しちゃおうと。

if link_url is not None and ('https:' in link_url or 'http:' in link_url)

としたらいけた。

最初は

if link_url is not None and 'https:' in link_url or 'http:' in link_url

としていたけど or が優先されるというのを以下ページで知って対処。

【Python入門】ブール演算子(and・or・not)の使い方 - Qiita

失敗した解決策:startswithで対応

そして、後で気付いたんですが途中にhttpがあるじゃないか!

//www.facebook.com/share.php?app_id=&ref=plugin&u=https%3A%2F%2hogehoge.com%2

こんなときは「httpで始まるものだけ」 というのがあったはず・・・と調べる。

が、starswithは文字列に対しては使えないと怒られてしまった。うーむ。最初の方でとりあえず進めよう。

 

httpを含むものと指定したのに"//www.facebook~"みたいなのが出てくる

問題:http を含むものをピックアップしたいのに //.wwwみたいなのが出てくる

指定のページ内のソースから「http」を含むものをピックアップしようとしているのに

//www.facebook.com/share.php?app_id=&ref=plugin&u=https%3A%2F%2hogehoge.com%2

みたいな httpがないものまで出てきてしまう。

解決策:条件を厳しく指定

if link_url is not None and 'http' in link_url

※link_url はソース内にあるURL文字列

だとダメだったので、もっと条件をきっちり指定しちゃおうと。

if link_url is not None and ('https:' in link_url or 'http:' in link_url)

としたらいけた。

最初は

if link_url is not None and 'https:' in link_url or 'http:' in link_url

としていたけど or が優先されるというのを以下ページで知って対処。

【Python入門】ブール演算子(and・or・not)の使い方 - Qiita

失敗した解決策:startswithで対応

そして、後で気付いたんですが途中にhttpがあるじゃないか!

//www.facebook.com/share.php?app_id=&ref=plugin&u=https%3A%2F%2hogehoge.com%2

こんなときは「httpで始まるものだけ」 というのがあったはず・・・と調べる。

が、starswithは文字列に対しては使えないと怒られてしまった。うーむ。最初の方でとりあえず進めよう。

 

anaconda + pycharm でSSLエラーでpip installすらできない問題

requests も pip install も動かない

自宅での学習用に新しいパソコンを購入し、anaconda と pycharm をインストールした。

で、さっそく使おうと思ったら requests が動かない。

SSLがどうたらこうたらで怒られる。調べるとOPENSSLがどうのこうのと出てくる。verify=falseを入れてもダメだし、他のPCでは使えていたのに何故だ!そもそも pip install をしようとしても同じエラーで怒られる。

anacondaをダウングレード

というわけで anaconda と pycharm をアンインストールし、古いPCのダウンロードフォルダからGoogleドライブ経由で移動。どっちも古いやつを入れてみて動くかな、と。

先にanacondaの古いバージョンを入れてみる。

動いた!!pipも使えるし、requestsもちゃんと動く。

結局OPENSSLがどうのこうのはよくわからなかったけど、頻出する問題でもなさそうなので無視して突き進もう。

ちなみに、動いたのは「Anaconda3-5.3.1-Windows-x86_64.exe」。

SSLエラーで動かなかったのは「Anaconda3-2018.12-Windows-x86_64.exe」。

 

pythonでよくわかっていないもの

 

よく意味がわかっていない単語・挙動など

  • シーケンス
  • オブジェクト=もの?
  • インスタンス
  • 引数
  • 変数= とある少年(以後「A少年」とする)みたいな定義。ここでは「A少年」が変数?
  • パース(parse)=入れ物的なやつ?

よくわかってない挙動

  • if A or B in ~ :望んだ結果が出ない
  • ↑これのA or B みたいなのをリスト化して、それに当てはまるものを抽出