クローリングとスクレイピングに必要なものを中心、Pythonの基本的な話のまとめ
.pyファイルでやるなら
'三つ、もしくは"三つで囲むと まとめてコメント扱いになる
#は、その行だけコメント扱いにしてくれる
ちなみにPython3
#Print関数
print('Hello World')
print(1)
'''
printの後は()
'''
データの型(単体)
Pythonのデータ(object)に対して、何かの処理をしたい場合
元々そのオブジェクトに備え付けてあるmethodを使う方法と
関数にそのデータを渡す方法がある
例えばAというデータに対して
A.~~
function(A)
これは前提
文字列 string
print('Hello\nWorld')
tmp = 'Hello World'
tmp.split(' ') #文字列の分解はsplit
tmp.split('o')
tmp + '!!' #結合は + でつなげるだけ
tmp[0] #何番目の文字という取り出し方もできる
tmp.find('ll') #文字列の中に指定した文字があるか確認できる
tmp.find('x') #ない文字を探すと-1が返ってくる
数値 int double たぶん説明いらないので省略
1
1.3
## 日付型 datetime
from datetime import datetime as dt #このimportが必要
tstr = '2017-12-29 13:49:37'
tdatetime = dt.strptime(tstr, '%Y-%m-%d %H:%M:%S') # 文字列を変換できる
tdatetime
str(tdatetime)#逆に、日付を文字列に直したい場合はこれ
tdatetime.day # ちなみにこんなこともできる
tdatetime.month
tdatetime.year
dt.now() #これで現在時刻がだせる
str(1031) + 'くっつける' + str(tdatetime)
ここまでの3つの型は、全部str()で囲むことで、文字列に変換でき、+でくっつけることができる
ブール
True
False
'''
上の二つだけの型
条件分岐などで使える
'''
データの型(複体)
リスト 配列ともいう
tmp_list = [7, 'aa', False] #中身はなんでもいれられる
tmp_list[0] #0から始まって、指定した番号のものを返してくれる
tmp_list.append(12) #appendでデータの追加ができる
tmp_list
del tmp_list[1] #delで要素の削除も行える
tmp_list
###Dataframe これはpandasが必要
import pandas as pd
URLlist = pd.read_csv('URLlist.csv')
URLlist
'''
csvの読み込み方法はほかにもいろいろあるが、これが一番楽だし、読み込んだデータを使いやすいと思う
csv読み込むときは、文字コードの問題とか結構面倒で、引っかかることが多いので注意
基本的にはcsvの文字コードをutf-8、区切りがカンマ(,)で保存すること
'''
URLlist.ix[0,0]#ixで指定すると、特定の要素を抜き出す
URLlist[[0]]#二つのカッコで挟むと、列をリストとして抜き出せる
URLlist.iloc[0]#ilocで指定すると、特定の行をリストとして抜き出せる
for文
words = ['Japanese', 'English', 'French']
for w in words:
print (w)
'''
for文そのものは知っていると思うのでPythonでfor文を各書き方だけ説明
for 変数 in オブジェクト:
実行する処理
変数の後ろに「in」が付くことと、オブジェクトの後ろに「:」が付くことに注意
'''
for num in range(5):
print(num)
'''
rangeで数字の連番を使える
'''
for num in range(20):
print num
if num == 10
break
'''
break文はそれ以降の処理にかかわず、for文を終了する
'''
for num in range(2, 10):
if num % 2 == 0:
print("偶数", num)
continue
print("奇数", num)
'''
coninue文は、for文のそのあとの処理だけスキップして、次にいく
意味は実行すればわかる
'''
関数を定義する
def function(arg1, arg2):
return arg1 + ' ' + arg2
tmp = function('本日は','晴天なり')
tmp
'''
関数を定義する場合は、def文を使用する。
関数名には、任意の関数名を記述、
引数は、何らかのオブジェクトを渡す時に使用する。
戻り値は、何らかのオブジェクトを返す時に使用する。
'''
def url_print(arg1):
return arg1[0] + arg1[1] + arg1[2]+ arg1[3]
tmp = url_print(URLlist.iloc[0])
tmp
'''
引数に、リストを渡すことも可能
'''
Webdriverとかもほんとは書きたいけど、とりあえずここまで。