python初心者です。
pandasの配列で以下のコードを実行した結果かなり遅くて処理が終わりそうにありません。
おそらくfor文を使って配列を一行ずつ処理しているせいだと思うのですがpandasの一括実行の仕方等が調べてもわからずこちらに質問させていただきました。
python3
1import requests 2count=0 3j=i 4for i in range(j,len(data)): 5 search_result=re.sub('/status/[0-9]+','', data.iloc[i,4]) 6 #print(search_result) 7 try: 8 get_url_info = requests.get(search_result) 9 except: 10 count+=1 11 se=re.search('''<span class="ProfileNav-label" aria-hidden="true">フォロワー</span> 12 <span class="u-hiddenVisually">フォロワー</span> 13 <span class="ProfileNav-value" data-count=[0-9]+''',get_url_info.text) 14 if se!=None: 15 data.iloc[i,5]=int(re.search('[0-9]+',se.group(0)).group(0))
data.iloc[i,4]にはURLがが入っています。
それを正規表現で整形してrequestでurlリクエストを送っています。
そこで帰ってきたhtml文の中から必要な情報を正規表現で抽出してdataの5列目に追加しようとしているコードになります。(data.iloc[i,5])
一応このコードで期待する数値は得られるのですが処理がかなり遅いです。
dataには10万件ほどデータが入っています。
お知恵をお貸しいただければ幸いです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/11 07:00
2019/01/11 07:04
2019/01/11 07:08 編集