【pythonのチートシート】

文法

try文

try:
   例外が発生する可能性ある処理
except (例外クラス):
  例外が発生した時の処理
#「try」と「except」をセットで使用すると、プログラムを異常停止させることなく、エラーをうまく処理することができる。

import requests

→HTTP通信用のライブラリ

★サーバーにアクセスして、URLの情報を取得したい。
response = requests.get(“URL”)  

タイムアウトを設定して、安全にサーバー接続し、コンテンツを取得したい。
(,timeout=コネクションタイムアウト,リードタイムアウト) 
→処理が自動で終了する時間。引数の一つ。対象のサーバーが応答しないとフリーズする可能性がある。(詳しくはこちら

HTTPヘッダを書き換えたい。
(,headers= #HTTPヘッダ)
→HTTPヘッダを書き換えるころで、人間ぽっさを出すことができる。

ユーザーエージェントの確認方法
         
・response.status_code  
→レスポンスオブジェクトの属性の一つ。
response.text #取得したHTMLの確認
resoponse.content
→実際にサーバーとやり取りしたバイナリデータを表示(コンピューターが認識できるデータ) 
・response.headers
→HTTP通信おけるサーバからのレスポンスヘッダ部分。

from selenium import webdriver

・ブラウザーの操作

driver = webdriver.Chrome()
★webサイトを開きたい。
【例】browser.get(“https://www.google.com/”)
getメソッドを利用する。引数はURL。

★指定した要素にテキストを送りたい。

import time
→ページをクリックしてから次のクリックまで時間。相手のサーバの負荷を減らす。

import gspread

from gspread_dataframe import set_with_dataframe


ライブラリ「gspread_dataframe」の「set_with_dataframe」をインポートする。

from time import sleep

タイムモジュールからスリープをインポートします。sleepは、Seleniumでブラウザを操作した際に一定時間待つのに使います。
使い方:「sleep(秒数)

import time

Pythonの標準ライブラリ「time」クラスの「sleep」メソッド
モジュールのインポートになって、余分なクラスまでインポートしてしまうというデメリットがあるのかな?
timeモジュールのsleepを使用すると処理を一定時間停止することができる。
使い方:「time.sleep(秒数)」

pep8によると「requests.get」の直前に必要らしい。(こちらより)

import urllib.robotparser

①RobotFileParser インスタンスの作成
②参照する robots.txt をセット
③read メソッドで robots.txt を解析
④対象 URL がクロールできるか確認
⑤クロール間隔の確認

Python-urllib.robotparser による robots.txt の解析


rp = urllib.robotparser.RobotFileParser()
→クラス(設計図)である「RobotFileParser」のインスタンス(クラスを実体化させたもの)の作成

★「robtot.txt」ファイルを参照したい。
rp.set_url(url)


★「robot.txt」を解析したい
rp.read()




    

  

    
    
    
from bs4 import BeautifulSoup #取得したHTMLからデータの抽出
   soup.find_all("検索するHTMLタグ") #find_allメソッド
  soup.hemlのタグ.htmlのタグ    #HTML階層を移動してタグを指定  
   soup.prettify                     #きれいにフォーマットされたHTMLが表示される。
   soup.select("CSSセレクタ")      # .string #テキストのみを抽出
              (,"html.parser")   #追加ライブラリが不要
              
        
        
    
import pandas
    pandas.read_csv("ファイル名") #CSVの読み込み
                               ,header=None #ヘッダーの名前がない場合に書く。
                               ,encoding='shift-jis'#文字コードの指定
 head tail 


import re #文字列のパターンで検索できるモジュール
  pattarn = "https?://[^/]+/"
    m = re.match("https?://[^/]+/",URL) #先頭の文字列からパターンに一致するものを検索する際に利用される。
      re.search(正規表現のパターン,検索対象の文字列,flags=フラグ引数) #search関数:文字列の途中でも一致するものがあれば一致したとみなされます。
      re.group()
       re.finditer #
             「^」#ハット:文字列の先頭からパターンに一致するかを判定






from matplotlib import pyplot as plt

import schedule

定期実行させる。

html5lib

HTML5対応のパーサー。

参考文献一覧

退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミング
シゴトがはかどる Python自動処理の教科書
株とPython─自作プログラムでお金儲けを目指す本
Pythonコードレシピ集