Python

netkeibaのスクレイピング

okwave.jp Python3ならできるんだけどPython2ではCSV保存のところでエラーがでてわからない from urllib.request import urlopen from bs4 import BeautifulSoup import csv base_url = 'http://db.netkeiba.com/?pid=jockey_detail&id=00663&page={0}' data…

YOKOHAMAの8文字1列に並べるとき、次のような並べ方は何通りあるか

detail.chiebukuro.yahoo.co.jp def perm(head, rest): if len(rest) == 0: return [head] else: res = [] # set(集合)型で重複を削除、ソート data = sorted(set(rest)) for i in data: # 配列の複製 restx = rest[:] # 指定データ削除 restx.remove(i) h…

出勤簿の判断推理

detail.chiebukuro.yahoo.co.jp 知恵袋で見つけた判断推理の出勤簿の問題をPythonで解いてみた。(2) - rscの日記 # 同じものを含む順列 def perm(head, rest): if len(rest) == 0: return [head] else: res = [] # set(集合)型で重複を削除、ソート data =…

Pythonで写真を集計2

import click import csv from operator import itemgetter @click.command() @click.option('--title', '-t', help='Title Mode', is_flag=True) @click.argument('input_file', type=click.File('r')) @click.argument('output_file', default='result.csv…

Pythonで写真を集計する

photo_name.csvを作成する A1 A2 A3 A4 A5 1 あいうえお かきくけこ なにぬねの あいうえお かきくけこ 2 かきくけこ たちつてと さしすせそ さしすせそ 3 さしすせそ たちつてと 4 たちつてと なにぬねの 5 なにぬねの 縦の1,2,3,4,5は人数 横のA1,A2,A3,A4…

Pythonで数当てゲーム

import random answer = random.randint(1, 100) turn = 0 print('★ 数当てゲーム ★') while True: n = int(input('1~100 の間の数字を入力してください: ')) turn += 1 if n < answer: print('もっと大きい!') elif n > answer: print('もっと小さい!') els…

PythonでHit&Blow

import random # 0から9までのリスト作成 ans = [i for i in range(10)] # リストをシャッフル random.shuffle(ans) # print(ans[:4]) while True: n = int(input('4桁の数字を入力してください?')) if n < 10000: hit = 0 blow = 0 # 桁ごとに分解 n_list =…

Python-Twitter インストール

pypi.python.org こっちだと投稿はできるけどリツイートの仕方がわからなかったので python-twitterに変更 pypi.python.org バージョン3からPython3に対応みたいなのでインストール # バージョン指定でインストール $ pip install python-twitter==3.0rc1 $ …

tablib

tablib 0.11.2 : Python Package Index $ pip install tablib import tablib headers = ('first_name', 'last_name') data = [ ('John', 'Adams'), ('George', 'Washington') ] data = tablib.Dataset(*data, headers=headers) # 行追加 data.append(('Henry…

アイドルマスターのカレンダーをスクレイピング

gomao9.github.io qiita.com を参考にPythonでスクレイピングのところだけやってみた select_oneはCSSセレクタ指定できるのでいつもよりシンプルでわかりやすかった。 いつもの書き方もコメントにして書いてます。 from urllib.request import urlopen from …

Anacondaインストール

https://www.continuum.io/downloads http://morimori2008.web.fc2.com/contents/PCprograming/python/pythonAnaconda.html ダウンロード $ wget https://3230d63b5fc54e62148e-c95ac804525aac4b6dba79b00b39d1d3.ssl.cf1.rackcdn.com/Anaconda3-4.0.0-Linux…

Visual Studio CodeでPython

https://www.visualstudio.com/ja-jp/products/code-vs.aspxgithub.com { "editor.fontFamily": "源ノ角ゴシック Code JP Medium", "editor.fontSize": 14, "editor.renderWhitespace": true } Visual Studio Code ファースト ステップ ガイド(PDF) http://d…

Beautifulsoupのパーサーを'html.parser'から'html5lib'へ変更

この間からスクレイピングができなかったりおかしいなと思ってたら'html.parser'のタグ補完が原因でした。 import urllib.request from bs4 import BeautifulSoup url = "http://www.police.pref.ehime.jp/sokuho/sokuho.htm" html = urllib.request.urlopen…

Python関連

ダウンロード www.python.org IDE www.jetbrains.com テスト Web-based online coding environment | paiza.IO 入門 Dive Into Python 3 日本語版 http://dotinstall.com/lessons/basic_python_v2dotinstall.com news.mynavi.jp

16人の人間を4人で1グループ計4グループに分ける

detail.chiebukuro.yahoo.co.jp import pprint import functools class gperm(): def __init__(self): self.flag_list = [[0 for x in range(16)] for y in range(16)] def gsearch(self): for i in range(1, 6): add_list = [] del_list = [j for j in rang…

PythonでExcel操作

openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files — openpyxl 2.4.0-a1 documentation import openpyxl # ファイル読み込み wb = openpyxl.load_workbook('excel.xlsx', data_only = True) # read_only Trueにすると読み取り専用 # da…

質問の線形代数の行列の問題をPythonで解いてみた。

d.hatena.ne.jp を参考に作ってみたのですが結果が違う target = (12, 20, 25, 32, 37) n = 0 for x1 in range(1, 41): for x2 in range(x1, 41): for x3 in range(x2, 41): for x4 in range(x3, 41): for i in target: flag = False for a1 in (-1, 0, 1): …

同じものを含む順列(重複除去)

http://osami.s280.xrea.com/Algo_Data2015/Presen/Algorithm08.pdf こちらの順列を参考に function perm(head, rest) { if (rest.length === 0) { return [head]; } else { var res = []; //重複削除 var data = rest.filter(function (x, y, self) { retur…

Python+Selenium+Phantom.js+Beautifulsoupでスクレイピング

zipsan.hatenablog.jpseleniumをインストール pip3 install seleniumphantomjsをダウンロード http://phantomjs.org/ WindowsのPATHを通しておくwww.qq.pref.ehime.jp Selenium IDEをFirefoxにインストールしてアクセス方法を記録 python2にエクスポート エ…

Python 日付変換

8.1. datetime — 基本的な日付型および時間型 — Python 3.3.6 ドキュメント import datetime import time #struct_timeを変換 entry.published_parsed = time.struct_time(tm_year=2015, tm_mon=1, tm_mday=2, tm_hour=3, tm_min=4, tm_sec=5, tm_wday=4, tm…

PythonでRSS 新着チェック

import feedparser import sqlite3 from datetime import datetime URL = 'http://imabari-news.blog.so-net.ne.jp/index.xml' feedparser.USER_AGENT = 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko' fdp = feedparser.p…

kimonoでスクレイピング

Kimono : Turn websites into structured APIs from your browser in seconds kimonoで今治の不審者情報をJSON化改行と全角数字を整形 import json import urllib.request import unicodedata results = json.loads(urllib.request.urlopen("https://www.kim…

Googleニュースからリンクを作成

import feedparser from urllib.parse import parse_qs from datetime import datetime #from time import mktime url= "https://news.google.com/news/feeds?ned=us&ie=UTF-8&oe=UTF-8&q=%E4%BB%8A%E6%B2%BB&output=atom&num=30&hl=ja" #USER_AGENT変更 fee…

順列の半分

import itertools data = list(itertools.permutations([1,2,3,4,5])) n = len(data) // 2 d1 = data[:n] #リストの上半分 d2 = data[n::-1] #リストの下半分の逆順 d2.sort() #ソート for x, y in zip(d1, d2): print(x, y, end = ' ') if x == y: print('t…

同じものを含む順列(再帰)

こちらの順列を参考に同じ物を含む順列作ってみた。 Python で順列を生成 | すぐに忘れる脳みそのためのメモ def permutations(L): if L == []: return [[]] else: ret = [] # set(集合)型で重複を削除、ソート S = sorted(set(L)) for i in S: data = L[:…

cx_freezeでビルド

Pythonビルドができたのでメモcx_freezeこちらからダウンロード http://www.lfd.uci.edu/~gohlke/pythonlibs/#cx_freeze 公式のだとエラーがでてビルドできないsetup.py import sys from cx_Freeze import setup, Executable # Dependencies are automatical…

同じものを含む順列

import itertools # set(集合)型で重複を削除、ソートのためリスト化 junretsu = list(set(itertools.permutations( (1, 1, 1, 2, 2, 3) ))) # ソート junretsu.sort() #順列の個数 print( len(junretsu) ) 追記リスト化してsortするよりsorted使えばよか…

pandas 練習

KYO's LOTO6 http://loto6.thekyo.jp/ロト6抽選結果(CSV)ダウンロード http://loto6.thekyo.jp/data/loto6.csv import pandas as pd df = pd.read_csv('http://loto6.thekyo.jp/data/loto6.csv', usecols = [0,1,2,3,4,5,6,7,8], index_col = 0, parse_date…

ロト6 最新結果取得

import datetime, locale, re import urllib.request from bs4 import BeautifulSoup url = 'http://www.mizuhobank.co.jp/takarakuji/loto/loto6/index.html' html = urllib.request.urlopen(url).read() soup = BeautifulSoup(html, from_encoding='cp932'…

Pythonでスクレイピング4(抽出)

愛媛新聞ONLINEから今治の記事のリンクを取得 import urllib.request from bs4 import BeautifulSoup from urllib.parse import urljoin def imabari_find( url ): html = urllib.request.urlopen(url).read() soup = BeautifulSoup(html, from_encoding='cp…