pythonで、英名を含む日付ではなくて、数字形式の日付+時間にしたよ

2020.02.09 Sunday 21:49
0
    pythonで、英名を含む日付ではなくて、数字形式の日付+時間にしたよ

    日付フォーマットの変換に失敗してて以下のエラーがでてた。
    英名を含む日付ではなくて、数字形式の日付+時間にしたいんだけどね

    raise ValueError("time data %r does not match format %r" %
    ValueError: time data 'Sat, 08 Feb 2020 18:30:00 GMT' does not match format '%Y/%m/%d %H:%M:%S %z'

    解決策として、

    dateutil.parser.parse を使ったよ

    $ pip install python-dateutil

    dateutil.parser.parse("変換したい日付")

    今回はその結果をjsonファイルにいれたかったので、strに変換したった
    TypeError: Object of type datetime is not JSON serializable

    str(dateutil.parser.parse("変換したい日付"))

    これでOK!
    pythonは何かと文字変換処理で面倒なこと多いw

    category:Python | by:ittoocomments(0) | - | -

    pythonで日本語を含むjson ファイルを開こうとしたら以下のエラー UnicodeDecodeError: 'cp932' codec can't decode byte 0x85 in position 68: illegal multibyte sequence

    2020.02.02 Sunday 19:21
    0
      pythonで日本語を含むjson ファイルを開こうとしたら以下のエラー
      UnicodeDecodeError: 'cp932' codec can't decode byte 0x85 in position 68: illegal multibyte sequence

      以下のように、文字コード指定すると回避できたよ
      with open('./hogehoe.txt','r',encoding="utf-8_sig") as f:
      category:Python | by:ittoocomments(0) | - | -

      pythonでスクレイピングしようとしたら、urllib.error.HTTPError: HTTP Error 403: Forbidden のエラーがでたので回避した

      2020.02.02 Sunday 19:19
      0

        pythonでスクレイピングしようとしたら、urllib.error.HTTPError: HTTP Error 403: Forbidden のエラーがでたので回避した。

        urllib.error.HTTPError: HTTP Error 403: Forbidden
        となってurlopenに失敗している
        どうやら http 403 で閲覧権限がないみたい。

        この場合はユーザーエージェントを偽装することで回避できた


        url = "https://ほげほげサイト"
        headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
        }

        request = urllib.request.Request(url, headers=headers)
        response = urllib.request.urlopen(request)
        category:Python | by:ittoocomments(0) | - | -

        pythonでスクレイピングしようとしたら、urllib.error.HTTPError: HTTP Error 403: Forbidden のエラーがでたので回避した

        2020.02.02 Sunday 04:56
        0

          pythonでスクレイピングしようとしたら、urllib.error.HTTPError: HTTP Error 403: Forbidden のエラーがでたので回避した。

          urllib.error.HTTPError: HTTP Error 403: Forbidden
          となってurlopenに失敗している
          どうやら http 403 で閲覧権限がないみたい。

          この場合はユーザーエージェントを偽装することで回避できた


          url = "https://ほげほげサイト"
          headers = {
          "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36"
          }

          request = urllib.request.Request(url, headers=headers)
          response = urllib.request.urlopen(request)
          category:Python | by:ittoocomments(0) | - | -

          pythonで、ログ表示やデバック時に使う、行番号、関数名、ファイル名を表示

          2020.02.02 Sunday 00:41
          0
            pythonで、ログ表示やデバック時に使う、行番号、関数名、ファイル名を表示
            sys._getfram()でするよ

            import sys

            print(sys._getframe().f_code.co_filename) # ok ファイル名
            print(sys._getframe().f_lineno) # ok 行番号
            print(sys._getframe().f_code.co_name) # function 関数名


            # 例)
            def get_kansuu():
            print("[" + sys._getframe().f_code.co_name + "][" + str(sys._getframe().f_lineno) + "] ")


            category:Python | by:ittoocomments(0) | - | -

            pythonで AttributeError: 'dict' object has no attribute 'dumps' のエラーではまる

            2020.02.01 Saturday 02:39
            0
              pythonで
              AttributeError: 'dict' object has no attribute 'dumps'
              のエラーではまる

              import json
              print("{}".format(json.dumps(dictdata,indent=4)))

              このファイルを実行すると
              AttributeError: 'dict' object has no attribute 'dumps'
              というエラーがでる。dict型のデータ渡しているんだけどね


              今回の解決策は以下。
              他のモジュールとかで jsonの名前が使われてたっぽい?のでとりあえず他の名前(json2)にしたらうまくいったよ

              import json as json2
              print("{}".format(json2.dumps(dictdata,indent=4)))
              category:Python | by:ittoocomments(0) | - | -

              pythonのBeautifulSoupをつかって、繰り返し現れる情報から、その階層化にある情報を個別に取り出す

              2020.01.31 Friday 20:04
              0
                pythonのBeautifulSoupをつかって、繰り返し現れる情報から、その階層化にある情報を個別に取り出す例
                class_="article"という階層下にタイトルと、リンク先と、時間が現れるのでそれを同時に取り出す


                以下で取得できた
                url = "対象URL"
                response = urllib.request.urlopen(url)
                rss = response.read().decode("utf-8")
                soup = BeautifulSoup(rss, "html.parser")

                for v in soup.find_all(class_="article") :
                print("[" + v.find(class_="title").get_text().strip()+"]")
                print("[" + v.find("time").get("datetime")+"]")
                print("[" + v.find("a").get("href") +"]")
                category:Python | by:ittoocomments(0) | - | -

                mongodbが Failed to start SYSV: Mongo is a scalable, document-oriented database..とか、exception in initAndListen: 15926 Insufficient free space for journals, terminating のメッセージがでて落ちてしまって起動できなかったやつ

                2020.01.31 Friday 02:26
                0
                  mongodbが Failed to start SYSV: Mongo is a scalable, document-oriented database..とか、exception in initAndListen: 15926 Insufficient free space for journals, terminating
                  のメッセージがでて落ちてしまって起動できなかったやつ

                  ★経緯
                  ある日突然サイトにつながらなくなる。
                  原因はmongodbが落ちてるからっぽい。


                  ★ ログみるとエラーでてる
                  I STORAGE [initandlisten] ** WARNING: Readahead for /var/lib/mongo is set to 4096KB
                  I STORAGE [initandlisten] ** We suggest setting it to 256KB (512 sectors) or less
                  I STORAGE [initandlisten] ** http://dochub.mongodb.org/core/readahead
                  I JOURNAL [initandlisten] journal dir=/var/lib/mongo/journal
                  I JOURNAL [initandlisten] recover : no journal files present, no recovery needed
                  I JOURNAL [initandlisten]
                  E JOURNAL [initandlisten] Insufficient free space for journal files
                  I JOURNAL [initandlisten] Please make at least 3379MB available in /var/lib/mongo/journal or use --smallfiles
                  I JOURNAL [initandlisten]
                  I STORAGE [initandlisten] exception in initAndListen: 15926 Insufficient free space for journals, terminating
                  I CONTROL [initandlisten] now exiting
                  I NETWORK [initandlisten] shutdown: going to close listening sockets...



                  ★コマンド起動しても失敗する
                  # systemctl restart mongod.service
                  Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details.



                  ★ステータス状況確認
                  # systemctl status mongod.service
                  ● mongod.service - SYSV: Mongo is a scalable, document-oriented database.
                  Loaded: loaded (/etc/rc.d/init.d/mongod; bad; vendor preset: disabled)
                  Active: failed (Result: exit-code) since Thu 2020-01-30 08:09:14 JST; 30s ago
                  Docs: man:systemd-sysv-generator(8)
                  Process: 12711 ExecStart=/etc/rc.d/init.d/mongod start (code=exited, status=1/FAILURE)

                  systemd[1]: Starting SYSV: Mongo is a scalable, document-oriented database....
                  mongod[12711]: Error starting mongod. /var/run/mongodb/mongod.pid exists.
                  systemd[1]: mongod.service: control process exited, code=exited status=1
                  systemd[1]: Failed to start SYSV: Mongo is a scalable, document-oriented database..
                  systemd[1]: Unit mongod.service entered failed state.
                  systemd[1]: mongod.service failed.



                  ★解決策
                  ぐぐっても英語でそれっぽいページもあったので試してみたのだが結局うまくいかず。
                  結論としては今回のmongodbは参照用で、別にインサートするjsonファイルは確保してあったので
                  mongodbをアンインストール、再インストールしなおし(バージョンも最新にして)で再びサイトにアクセス可能になった。

                  それにしてもこれまで問題なく使えていたのになぜ急につかえなくなったのかは不明
                  それほど時間もかけたくなかったので再インストールで対応したのだけど、これが仕事でつかってる場合
                  はそうはいかなんだろうけど。
                  こういうトラブルに見舞われると、なれてるmysql postgresなどの RDBのほうが楽かもねと思ってしまいました
                  category:mongodb | by:ittoocomments(0) | - | -

                  docker build 中にエラー registry-1.docker.io/v2/: remote error: tls: handshake failure

                  2020.01.13 Monday 21:41
                  0
                    dockerfile作成してbuild中にエラー発生

                    >docker build -t pytest .
                    Sending build context to Docker daemon 3.072kB
                    Step 1/9 : FROM python:3.6
                    Get https://registry-1.docker.io/v2/: remote error: tls: handshake failure

                    原因は単に、無線LANがきれてたようだ。
                    再度つなげたらうまくいったよ
                    category:docker | by:ittoocomments(0) | - | -

                    pythonで #UnicodeEncodeError: 'cp932' codec can't encode character 〜: illegal multibyte sequence に対処した

                    2019.12.22 Sunday 10:17
                    0
                      ファイル開く時にutf8指定しなかったばっかりに出たエラー
                      #UnicodeEncodeError: 'cp932' codec can't encode character '¥u200c' in position 274: illegal multibyte sequence

                      解決策
                      with open(path, mode='w', encoding='UTF-8') as f:

                      修正前
                      with open(path, mode='w') as f:

                      category:Python | by:ittoocomments(0)trackbacks(0) | -

                      ad
                      Calender
                       123456
                      78910111213
                      14151617181920
                      21222324252627
                      282930    
                      << June 2020 >>
                      Selected entry
                      PR
                      Category
                      Archives
                      Recent comment
                      • パス指定 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-4: truncated ¥xXX escape
                        久米隆文
                      • 円マークが自動変換されてる
                        aaaaaa
                      • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
                        66hills
                      • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
                        ssd
                      • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
                        max
                      • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
                        DOM
                      • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
                        DOM
                      • コンピュータ業界の根本的な変化
                        cloud
                      • コンピュータ業界の根本的な変化
                        Dellの仮想化
                      • マクドナルドでYahoo BBモバイルポイント 公衆無線LANサービスがつながらない
                        えちごや
                      Recent trackback
                      • スマートフォンの法人活用例
                        無線LANネットのブログ
                      • Yahoo!オークションからのアフィリエイト収入が一気に70%減になってしまい涙目になってる話
                        特選情報
                      Recommend
                      Link
                      Profile
                      Search
                      Others
                      Mobile
                      qrcode
                      Powered
                      無料ブログ作成サービス JUGEM