GOOGLE APIから情報を取得し、JSONファイルに保存
google drive参照
GOOGLE APIから情報を取得し、JSONファイルに保存
google drive参照
import time
from datetime import datetime
print([datetime.now(),value])
import time
for i in range(14):
time.sleep(1)
print(“1秒経過”)
import urllib.request
from bs4 import BeautifulSoup
url = "http://www.customslegaloffice.com/fta/feed/"
xml = urllib.request.urlopen(url)
soup = BeautifulSoup(xml, "lxml")
pubdates = soup.find_all("title")#titleのみを取り出す
for pubdate in pubdates:
print(pubdate.text)#.textは要素の内部のみを取得<title>などは取得し
ない
import urllib.request
url = “http://www.customslegaloffice.com/fta”
# urlopenを使う
html = urllib.request.urlopen(url)
#readの引数に文字数を指定.decode(“utf=8#))
print(html.read(500).decode(“utf-8”))
例1:yahooニュースからスクレイピング
import urllib.request
from bs4 import BeautifulSoup
url = "https://news.yahoo.co.jp"
html = urllib.request.urlopen(url)
soup = BeautifulSoup(html, 'lxml')
topics = soup.find_all("p",class_="ttl")
for topic in topics:
print(topic.text)
例:2 ビットコイン価格の取得
import urllib.request
from bs4 import BeautifulSoup
import csv
import time
from datetime import datetime
url = "https://coinmarketcap.com/currencies/bitcoin-cash/"
f = open("bitcoin.csv", "w")
writer = csv.writer(f, lineterminator="\n")
html = urllib.request.urlopen(url)
soup = BeautifulSoup(html, 'lxml')
for i in range(15):
# リスト形式で格納し、csvに書き込む
price = soup.find_all("span", class_="text-large2", id="quote_price")
value = price[0].text
writer.writerow([datetime.now(),value])
# 240秒処理を休止します
time.sleep(2)
f.close()
例:1で取得したyahooのスクレイピングの対象タグ
<li> | |
<div> | |
<p class=”ttl“><a href=”https://news.yahoo.co.jp/pickup/6263011” onmousedown=”this.href=’https://rdsig.yahoo.co.jp/_ylt=A2Rifg0JaR9aimsAUHAEnf57/RV=2/RE=1512094345/RH=cmRzaWcueWFob28uY28uanA-/RB=tJQRd1AC72Lz8jGDGZOagZ_Lbl0-/RU=aHR0cHM6Ly9uZXdzLnlhaG9vLmNvLmpwL3BpY2t1cC82MjYzMDExAA–/RK=0/RS=8TztB1eAvSrIMPzmJpmHQep2GB8-‘“>海底に人 墜落空自ヘリ乗員か<span class=”icPhoto“>写真</span></a></p> | |
</div> | |
</li> | |
<li> | |
<div> | |
<p class=”ttl“><a href=”https://news.yahoo.co.jp/pickup/6263008” onmousedown=”this.href=’https://rdsig.yahoo.co.jp/_ylt=A2Rifg0JaR9aimsAUXAEnf57/RV=2/RE=1512094345/RH=cmRzaWcueWFob28uY28uanA-/RB=tJQRd1AC72Lz8jGDGZOagZ_Lbl0-/RU=aHR0cHM6Ly9uZXdzLnlhaG9vLmNvLmpwL3BpY2t1cC82MjYzMDA4AA–/RK=0/RS=9uov33ITmDdzaj9DqnJQ7RhyFBE-‘“>火星15 米攻撃能力なお疑問<span class=”icPhoto“>写真</span></a></p> | |
</div> | |
</li> | |
<li> | |
<div> | |
<p class=”ttl“><a href=”https://news.yahoo.co.jp/pickup/6263017” onmousedown=”this.href=’https://rdsig.yahoo.co.jp/_ylt=A2Rifg0JaR9aimsAUnAEnf57/RV=2/RE=1512094345/RH=cmRzaWcueWFob28uY28uanA-/RB=tJQRd1AC72Lz8jGDGZOagZ_Lbl0-/RU=aHR0cHM6Ly9uZXdzLnlhaG9vLmNvLmpwL3BpY2t1cC82MjYzMDE3AA–/RK=0/RS=hpkwmxO3YnpTdJcl8hgYbThc.vI-‘“>賃金より給食高く 障害者訴え<span class=”icPhoto“>写真</span><span class=”icNew“>new</span></a></p> | |
</div> | |
</li> |
UTF-8で書かれた文字列(ファイル)
1 2 |
私の名前は山田太郎です。 |
Shift JISでデコード
1 2 3 |
遘√�蜷榊燕縺ッ螻ア逕ー螟ェ驛弱〒縺吶 Big 5-Eは中国語繁体字に使われるエンコード形式 |