くだすれPython(超初心者用) その38

1デフォルトの名無しさん2018/05/17(木) 11:09:14.54ID:WeqM6vIc
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その37
http://mevius.5ch.net/test/read.cgi/tech/1521271945/

185デフォルトの名無しさん2018/06/10(日) 10:47:08.17ID:mYiZBk29
自己解決しました
戻り値が辞書型なようです
すいません

186デフォルトの名無しさん2018/06/10(日) 15:51:44.31ID:cIF/Pitw
ナムパイ より  オッパイ が  すぅき〜〜〜〜ぃ!

187デフォルトの名無しさん2018/06/11(月) 10:35:45.86ID:tK3aH3wF
>>183
立ち読みしたけど
このスレ見てるひとには物足りないと思うよ

188デフォルトの名無しさん2018/06/12(火) 15:02:09.09ID:T8vrMQ/8
>>187
このスレ超初心者用じゃないの?

189デフォルトの名無しさん2018/06/12(火) 18:45:39.13ID:1JN678Ut
一部のwebサイトのソースで日本語が \u0000 みたいな形式になってることがあるんですけど
これを普通の日本語として表示させるにはどうすればいいですか?

190デフォルトの名無しさん2018/06/12(火) 19:17:17.65ID:2L+m/FfH
そのままconsole.logにぶっ込めばいいよ。
console.log('\u6584')
=> 斄

191デフォルトの名無しさん2018/06/12(火) 20:19:54.95ID:1JN678Ut
すいません質問の仕方が悪かったです

IDLEに対して"\u6587\u7ae0"と入力すると
"文章"と表示されるのはわかっているのですが
\u6587\u7ae0 という文字を含むファイルを読み込んでも
"\\u6587\\u7ae0" と表示されるだけなので
これをなんとかして"文章"に変換してスクリプト内で自由に扱えるようにしたい
ということです
あと環境はWin10 Python3.6.0です

192デフォルトの名無しさん2018/06/12(火) 21:40:04.31ID:YVMRGW8t
codecs.decode(foo, 'unicode-escape')

193デフォルトの名無しさん2018/06/12(火) 22:06:43.72ID:1JN678Ut
>>192
できました。ありがとうございます

194デフォルトの名無しさん2018/06/15(金) 07:13:57.77ID:3m9PjRhE
スパイダーにパイゲーム入れたらスパイダーの実行ファイルが2つになった
spider.exeとspider(pygame).exeだ
これ普通なの?
追加するたびにexeが増えるとかおかしくない?

195デフォルトの名無しさん2018/06/15(金) 08:40:06.77ID:Rb3jCNU/
>>192
質問者じゃなかったけどちょうちょうちょうたすかった
すばらしい!!! (・∀・) ありがとう!!!

196デフォルトの名無しさん2018/06/15(金) 15:54:26.09ID:kuxGvV0N
cloud9で開発を始めましたが、自作関数のインポートでなぜかIDEに怒られます。
具体的には以下のコードで、main.pyの3行目[from my_lib import mlib]の左に
赤いバツ印が付いて’No name 'mlib’ in module 'my_lib'と表示されます。
ただ、そのまま実行すると特にエラーも出ず、mlib.○○でmy_lib.py内に記述した
関数も問題なく使えてますが。。。どこがおかしいのでしょうか?

<main.py>
#!/usr/bin/env python3
# coding: utf-8

import json
from pprint import pprint
import time,datetime
import sys
sys.path.append("/home/ec2-user/environment/my_lib")
from my_lib import mlib (←怒られる)
mlib = mlib()

1971962018/06/15(金) 15:57:05.36ID:kuxGvV0N
上の続きです。
<my_lib.py>
#!/usr/bin/env python3
# coding: utf-8

import math
from decimal import *
import sys, traceback, time, datetime, csv
import requests, json, urllib
from pprint import pprint

class mlib:

  def __init__(self):
    self.output_path = "/home/ec2-user/environment/my_output/"

  def aaa(self,〇〇〇)
    〇○○〇〜

1981962018/06/15(金) 16:01:26.91ID:kuxGvV0N
すいません、文章に誤りあり、×がつくのはmain.pyの3行目ではなく、
下から2行目です。

誤:
main.pyの3行目[from my_lib import mlib]の左に
赤いバツ印が付いて’No name 'mlib’ in module 'my_lib'と表示されます。

正:
main.pyの下から2行目[from my_lib import mlib]の左に
赤いバツ印が付いて’No name 'mlib’ in module 'my_lib'と表示されます。

199デフォルトの名無しさん2018/06/15(金) 16:11:23.50ID:OdSPYtBq
質問の仕方がおかしい

200デフォルトの名無しさん2018/06/15(金) 22:04:53.01ID:ymZBnmIf
「python module import」で検索!

https://docs.python.jp/3/tutorial/modules.html

>import mlib
よく知らないけど、import の後ろにクラス名は、書けないのかも?

201デフォルトの名無しさん2018/06/16(土) 12:00:24.81ID:Qzlh17q8
>>196
肝心のmain.pyとmy_lib.pyの置き場所は?
それと /home/ec2-user/environment/my_lib ディレクトリ以下の構成は?

2021962018/06/16(土) 13:02:52.35ID:J0XQYDu0
>>201
各ファイルの置き場所は以下になります。

/home/ec2-user/environment/main.py
/home/ec2-user/environment/my_lib/my_lib.py

203デフォルトの名無しさん2018/06/16(土) 14:39:50.44ID:Qzlh17q8
IDEが動的path追加を認識できないアホなだけなんじゃなかろうか
諦めて無視するしかない

2041962018/06/16(土) 19:19:04.31ID:4DPY/ACT
>203
そうなのかもしれません。
main.pyと同じ階層にmy_lib.py置くと警告出ません。

205デフォルトの名無しさん2018/06/16(土) 21:30:29.14ID:V0Z3yofC
Ruby みたいに、そのファイルから見て、相対パスで指定できる、
require 相対パスのような書き方は無いの?

require_relative 'my_lib/my_lib.py'

206デフォルトの名無しさん2018/06/16(土) 21:35:07.29ID:V0Z3yofC
【Python入門】パッケージの作り方と色々なimportの方法
https://www.sejuku.net/blog/25587

__init__.pyに、importしておきたいファイルを、相対パスを使って書く

207デフォルトの名無しさん2018/06/16(土) 21:35:07.95ID:xo8+58G0
仕返しにRubyスレ荒らそうぜ!
Ruby 初心者スレッド Part 63
http://mevius.5ch.net/test/read.cgi/tech/1523954817/

208デフォルトの名無しさん2018/06/16(土) 22:44:20.42ID:gqmCF5e7
>>207
あのアスペはRubyスレでも人工無脳扱いなので勘弁して欲しい

209デフォルトの名無しさん2018/06/17(日) 09:30:54.55ID:89kw/R7U
Cに挫折してPythonに来たけど、PythonをやってみるとCが難しい理由がよくわかる
Cにはリスト・辞書など実用的なプログラミングに必須のデータ構造がなく、
それに相当する構造を自前で実現しようとするとメモリイメージを理解したうえで
ポインタを駆使する必要がある
一般人は肝心のロジックを書く前に、データ構造の構築と操作でギブアップしてしまう

何が言いたいかというと、Pythonを作ってくれてGuidoさんありがとう
こんな私でも正規表現を使って業務データを望みの形に加工するくらいできるようになりました

210デフォルトの名無しさん2018/06/17(日) 12:08:47.33ID:0n282sb+
subprocess.runを使ってwgetにファイルをDLさせたいんですけど
URLに&が含まれているとエラーになってしまいます
あとfor文でURLに連番を付加したときもエラーが出ました
どう対処すればいいですか?

211デフォルトの名無しさん2018/06/17(日) 13:58:33.95ID:a0y5ZZCH
初心者ですが
anacondaでF5で実行後IPythonコンソールにプロンプト(フォーカス?)を
自動で移動したいのですが方法設定はないでしょうか。
input()で入力を求められるところでいつも誤ってプログラムの書き換えをしてしまいます。

212パイソン初心者2018/06/17(日) 22:36:30.93ID:lidrzVPC
目当てのサイトから必要な情報を抜き出し、csvに保存するところまではできたのですが、実際にやりたいことまで知恵が及ばず、こちらで質問することにしました。

現在のコード(sample.py)
──────────
import requests, bs4
import csv

import requests, bs4
res = requests.get('https://news.yahoo.co.jp/pickup/6286588')
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
elems = soup.select('h2')
for elem in elems:
print(elem)

with open('news.csv', 'w', encoding='CP932', errors='ignore') as f:
writer = csv.writer(f)
writer.writerows(elems)
──────────
※URLとh2に関しては質問用です。

2132122018/06/17(日) 22:37:08.00ID:lidrzVPC
>>212 続き

上記コードで1つのURLの"h2"が取得でき、"news.csv”に保存ができています。
でも本当は、情報を取得したいURLが大量あるのです。

URLは違うけど、同じサイトの中で、hmtlの骨組みが同じなので、アクセスするURLさえ変えることができれば他はそのままでいいです。

そこで、「URLがリスト化されたファイル"urllist.txt"の内容を読み込んで、一行目のURLから順々にアクセスして"h2"を取得し、csvに書き込んで保存するコード」というイメージでコーディングしたいと思っています。

※urllist.txtの内容
https://news.yahoo.co.jp/pickup/6286588
https://news.yahoo.co.jp/pickup/6286594
https://news.yahoo.co.jp/pickup/6286582

"requests.get"で指定するURLを別のファイルから読み込んで指定する方法、同じ処理を繰り返す方法、などで調べたのですが、必要な回答に辿り着くことができませんでした。

正解例がわかる方、どなたかお願いしますm(__)m

※urllist.txtはテキストファイルじゃなくてもいいです。

214デフォルトの名無しさん2018/06/17(日) 23:47:02.24ID:zwR/a8LX
まずファイルを読み込んで一行ずつ使用する方法と
関数を定義して処理を再利用する方法を覚えたら
https://docs.python.jp/3/tutorial/inputoutput.html#methods-of-file-objects
https://docs.python.jp/3/tutorial/controlflow.html#defining-functions

つーかその辺が分からずにそこまで行ったのはある意味凄いね

215パイソン初心者2018/06/18(月) 00:08:19.75ID:QaoNGVd4
>>214
ありがとう。頑張ります。

216デフォルトの名無しさん2018/06/18(月) 00:21:43.97ID:CeTul5Qc
3つのコードしか知らないのに優れた楽曲をつくるやつもいるからな

217パイソン初心者2018/06/18(月) 00:38:30.76ID:QaoNGVd4
pythonは今日勉強を始めたばかりです。
プログラム自体が初めてですが、楽しいですね。
とても好きになりました。

解決したらまた書き込みにきますm(_ _)m

218デフォルトの名無しさん2018/06/18(月) 07:48:32.99ID:icV/mWqE
3つのコードでGoogleアシスタント作りました。

2192102018/06/18(月) 08:53:40.84ID:sS1CU9Ao
自己解決しました
URLに&が含まれているとエラーになる件は&を^&に置換して渡せばよかったようです
URLに連番を付加する件は単純に関数の作り方が間違っていました

220デフォルトの名無しさん2018/06/18(月) 15:22:22.29ID:5N4LUYzZ
スクレイピングでろくなサイトがないから、ためしに本買ったらわかりやすくて最高ー
当たり前だけど本重要だな

221デフォルトの名無しさん2018/06/18(月) 16:32:39.69ID:c5Ieze8t
その本の名前をを書けよ無能

222デフォルトの名無しさん2018/06/18(月) 17:28:21.58ID:81MK0a/A
>>219
解決してよかったぬ

223デフォルトの名無しさん2018/06/18(月) 20:00:42.72ID:NEyGx0zg
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、
佐々木拓郎・るびきち、2014

よく知らないけど、Python なら、なでしこの作者、クジラ飛行机の本か?

そう言えば、巨匠がフレームワークの本を出したよ。
先に、無料のRails チュートリアルをやった方が良いと思うけど

Python Django 超入門、掌田津耶乃、2018

224デフォルトの名無しさん2018/06/18(月) 20:24:00.31ID:PCvROOcF
発達障害はチンパンジーアイちゃんと小粋なトークしてろ

225デフォルトの名無しさん2018/06/18(月) 21:41:23.20ID:ltR7ddTW
ruby信者ホント気持ち悪い

2262122018/06/18(月) 22:34:36.18ID:QaoNGVd4
解決しました。引き続き精進します。

227デフォルトの名無しさん2018/06/19(火) 04:23:54.29ID:6x0qbtHZ
スクレイピングする時に、
デフォルトのモジュールのみで、パースも正規表現駆使して拾いながら
手続きの流れのままにズラズラと構成しちゃダメかい?

228デフォルトの名無しさん2018/06/19(火) 05:01:01.25ID:0nk/xPMo
<1><2></2></1>

正規表現は、木構造に対応できない。
<1>と</2>が、マッチしてしまう

jQuery, Ruby のNokogiri では、CSS セレクターを使う。
XPath よりも良い

229デフォルトの名無しさん2018/06/19(火) 05:59:30.68ID:6x0qbtHZ
前後の文字列で肝心のデータ部分を特定・取得できさえすればいい場合は、
正規表現でもそんなには困らないんだけどね。

230デフォルトの名無しさん2018/06/19(火) 09:16:28.04ID:a6uoRFLw
今時だれがrubyなんて使ってんだ?
PythonとBeautiful Soupでやるだろ。
本屋でもこの組み合わせばかり。
nokogiri?どころかruby自体の本すらない。

231デフォルトの名無しさん2018/06/19(火) 09:57:15.89ID:bbVl/Mhd
seleniumでchromeのヘッドレスでダウンロードしたいんだけどどうしたらいいの?

232デフォルトの名無しさん2018/06/19(火) 10:38:55.09ID:HcfbauBL
>>231
ヘッドレス起動の仕方は↓とか嫁
tps://qiita.com/orangain/items/db4594113c04e8801aad
ダウンロードはzipファイルなら↓あたりを参考に
tp://toolsqa.com/selenium-webdriver/c-sharp/download-file-using-selenium-and-verifying/

233デフォルトの名無しさん2018/06/19(火) 10:41:50.97ID:HcfbauBL
>>232追記
Cからの書き換えなんていやだ!というなら↓とかみれ
tps://a-zumi.net/python-selenium-save-to-disk/
tps://qiita.com/py_maro/items/6e79e4049677cf43c398

234デフォルトの名無しさん2018/06/19(火) 10:57:31.22ID:CdRPQvnG
>>233
ありがとう
見てみます

235デフォルトの名無しさん2018/06/19(火) 11:14:22.26ID:CdRPQvnG
>>233
すみません普通にならダウンロードはできてるんだけど
ヘッドレスモードにするとダウンロードできなくなるんです

新着レスの表示
レスを投稿する