Beautifulsoupでスクレイピング

Beautifulsoupの方がひとつのファイルですむのでやっぱり楽 import datetime import os import re import string import time from urllib.parse import urljoin import requests from bs4 import BeautifulSoup headers = { 'User-Agent': 'Mozilla/5.0 (Wi…

Scrapyでスクレイピング

普段Beautifulsoupしか使ってないのでScrapyで作成してみた github.com をベースに作成しました。 note.nkmk.me https://doc.scrapy.org/en/latest/topics/commands.html # インストール pip install scrapy # プロジェクト作成 scrapy startproject cheerup…

ボランティア動向 直近7日間の集計のグラフ

https://docs.google.com/spreadsheets/d/e/2PACX-1vStDz-dB8i7W6m0GEYup_DQ76CHXaPRgalKpkIP0hNZ_Q5eMVUvc3lKi1lC5VFeKeTFqh6s1yHmP3vj/pubchart?oid=1377073713&format=interactive 表を取得 C1 =IMPORTHTML("https://ehimesvc.jp/?p=70","table",1) 何週…

Microsoft Flow 西日本豪雨を市町村別に振り分けるJSON

{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "logicAppName": { "type": "String", "metadata": { "description": "Name of the logic app." } }, "lo…

平成30年7月豪雨による被害状況等についてをテキスト化してみた

www.pref.ehime.jp https://www.pref.ehime.jp/h12200/documents/higaijokyo80.pdf PDFBOXでテキスト化 java -jar pdfbox-app.jar ExtractText -sort -encoding UTF-8 %1 区 分 市 町 名 死 亡 宇 和 島 市 西 予 市 大 洲 市 松 山 市 今 治 市 鬼 北 町 を…

玉川ダム・蒼社川(水位)・テレメーター(雨量)

i.river.go.jpから正規表現で抽出 Twitterの文字数多くなったのでぎりぎりいけそう import re import time import requests import twitter from bs4 import BeautifulSoup headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; r…

自動化

Micorosoft Flow flow.microsoft.com docs.microsoft.com 無料と有料があり無料でも使用回数減らせば使える。 データーを加工できるので便利 Yahoo Pipesみたいな感じ 無料だと15分毎、750回まで実行可能。1時間毎×24時間×31日=744あと残り6回 資…

スクレイピングツール

Googleスプレッドシート いつ更新されるかタイミングがわからない。 表・グラフにするならすごく便利(IMPORTHTML・IMPORTDATA) GASでほぼ定時実行※、Twitter投稿、メール、RSS化できるので連携すると便利 ※00分等きっちりした時間実行はできないが45分ぐら…

Microsoft FlowでTwitterを振り分け

画像 https://drive.google.com/open?id=1dfdZSntDgrkf0bljRvqeNIoBZSL5SlDv 新しいツイートが投稿されたら 検索テキスト -RT #西日本豪雨 #愛媛県 日時をUTCからJSTに変換 convertTimeZone(triggerBody()?['CreatedAtIso'],'UTC','Tokyo Standard Time','yy…

スプレッドシートでスクレイピング

IMPORTXML IMPORTXML(URL, XPath クエリ) XML、HTML、CSV、TSV、RSS フィード、Atom XML フィードなど、さまざまな種類の構造化データからデータをインポートします。 IMPORTXML - ドキュメント エディタ ヘルプ IMPORTXMLサンプル docs.google.com IMPORTHT…

ボランティア数集計

!pip install lxml !pip install seaborn !apt install fonts-ipafont-gothic !rm /content/.cache/matplotlib/fontList.json import pandas as pd url = 'https://ehimesvc.jp/?p=70' dfs = pd.read_html(url, index_col=0, na_values=['活動中止', '終了',…

GASでスクレイピングの結果を別シートの最終行に追加

function myFunction() { var spreadsheet = SpreadsheetApp.getActive(); // コピー元のシート spreadsheet.setActiveSheet(spreadsheet.getSheetByName('一覧'), true); // スクレイピングのERROR対策に90秒待機 Utilities.sleep(90000); // スクレイピン…

避難所

import datetime import re import time from urllib.parse import urljoin import string import requests from bs4 import BeautifulSoup headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko' } city_nam…

ふるさとチョイス災害支援をスクレイピング

import io import csv import requests import time import datetime from bs4 import BeautifulSoup headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko' } data = """hisaichi,dairi,url 愛媛県,,https:/…

平成30年7月豪雨による被害状況等についてのPDFをテキスト変換

平成30年7月豪雨災害に関する情報から www.pref.ehime.jp 平成30年7月豪雨による被害状況等について(第??報)のPDFをダウンロードしテキスト化 JAVAをインストール PDFBOXをダウンロード http://ftp.riken.jp/net/apache/pdfbox/2.0.11/pdfbox-app-2.0.11.j…

鹿野川ダムと野村ダムと肱川をスクレイピング

インストール pip install requests pip install python-twitter pip install apscheduuler pip install beautifulsoup4 プログラムを実行すると8,18,28,38,48,58分に表示 コメントアウトしているTwitterのキーを入力すると投稿できます import datetime imp…

cron

crontab -e sudo /etc/init.d/cron restart

玉川ダムと蒼社川の水位

import datetime import requests import twitter from bs4 import BeautifulSoup # 文字を小数点に変換、変換できない場合は0.0 def moji_float(x): try: result = float(x) except: result = 0.0 return result # 空文字の場合、前の値で補間、次の値で補…

Raspberry Pi 2018-07 初期設定

qiita.com 時刻同期はntpではなく、systemd-timesyncdで同期 sshは初期設定でOFF #firmwareのアップデートたまにする sudo rpi-update sudo raspi-config 8 Update # 7 Advanced Options - Expand Filesystem 5 Interfacing Options - SSH 4 Internationalis…

愛媛県河川・水防情報よりダム情報をスクレイピング

import csv import datetime import time import requests from bs4 import BeautifulSoup def date_span(start_date, end_date, hour_interval): n = start_date while n < end_date: n += datetime.timedelta(hours=hour_interval) yield n # GRP = USR004…

feed43で10進文字を変換したい

feed43で10進文字を変換する方法ないかな beautifulsoupだと変換できるんだけど import requests from bs4 import BeautifulSoup from urllib.parse import urljoin url = 'http://ehime.force.com/PUB_VF_Detail_Docs' headers = { 'User-Agent': 'Mozilla/…

asyncioでスクレイピングを高速化

import asyncio import aiohttp import requests from bs4 import BeautifulSoup async def scraping(url): async with aiohttp.ClientSession() as session: async with session.get(url) as response: html = await response.text() soup = BeautifulSoup(…

ThreadPoolExecutorでスクレイピングを高速化

from concurrent.futures import ThreadPoolExecutor import requests from bs4 import BeautifulSoup def scraping(url): r = requests.get(url) if r.status_code == requests.codes.ok: soup = BeautifulSoup(r.content, 'html5lib') result = [] return …

Feed43でRSSのないホームページのRSSを作成する

Feed43で作成 feed43.com Step 1. Specify source page address (URL) Address(取得したいページのURLを入力) http://www.city.imabari.ehime.jp/whatsnew.html Page Sourceを確認 Step 2. Define extraction rules Global Search Pattern (optional)(ペ…

PythonのrequestsでPOST送信スクレイピング

今治地区の救急病院をスクレイピングし曜日別・医療機関別に集計する seleniumを使わずにrequestsでpost送信 Firefoxの開発ツールでpost内容を確認 ネットワークの中からメソッドPOSTを選びパラメーターのフォームデータを確認 "blockCd[3]": "", "forward_n…

Ubuntu18.04にtextlintをインストール

node.jsの最新バージョンをインストール Installing Node.js via package manager | Node.js curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt install -y nodejs yarn textlintをインストール https://dotinstall.com/lessons/bas…

JFLの試合結果分析

github.com

今治市内の病院(位置情報付)

病院名 診療科目 住所 TEL 緯度 経度 iクリニック内科・呼吸器内科 内呼放ア 今治市郷新屋敷町3-1-39 0898-22-1929 34.0417791 133.0020673 相原内科クリニック 内呼小リ 今治市本町2丁目1-27 0898-25-1311 34.0690784 133.0020984 あおい小児科 小 今治市…

Hugo+Github

kohki.hatenablog.jp

pandas基本

http://www.atmarkit.co.jp/ait/articles/1802/13/news012.html import pandas as pd import numpy as np dow = pd.read_csv("xxxx.csv", index_col=0) # データの冒頭の部分だけを表示 dow.head() type(dow) # 簡単な統計情報を見る「describe」メソッド do…