Edited at

Pythonでクローリングをするのに必要な関数

More than 1 year has passed since last update.

クローリングとスクレイピングに必要なものを中心、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とかもほんとは書きたいけど、とりあえずここまで。