このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その37
http://mevius.5ch.net/test/read.cgi/tech/1521271945/
探検
くだすれPython(超初心者用) その38
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/05/17(木) 11:09:14.54ID:WeqM6vIc225デフォルトの名無しさん
2018/06/18(月) 21:41:23.20ID:ltR7ddTW ruby信者ホント気持ち悪い
226212
2018/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 よりも良い
正規表現は、木構造に対応できない。
<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自体の本すらない。
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/
ヘッドレス起動の仕方は↓とか嫁
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
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:CdRPQvnG235デフォルトの名無しさん
2018/06/19(火) 11:14:22.26ID:CdRPQvnG236デフォルトの名無しさん
2018/06/19(火) 12:24:26.47ID:dYMcqEpR ほなヘッドフルでええやん
細かいことは気にすんな
細かいことは気にすんな
237デフォルトの名無しさん
2018/06/19(火) 19:56:07.63ID:HoCrEKEA PythonのIDLEの画面をクリアすることってできますか?
238デフォルトの名無しさん
2018/06/19(火) 20:02:06.90ID:q/YRP9sv >>237
ctrl + Lでできる
ctrl + Lでできる
239デフォルトの名無しさん
2018/06/19(火) 23:18:57.08ID:0nk/xPMo Ruby では、--headless オプション
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
driver = Selenium::WebDriver.for(:chrome, options: options)
driver.navigate.to "ここにURL"
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
driver = Selenium::WebDriver.for(:chrome, options: options)
driver.navigate.to "ここにURL"
240デフォルトの名無しさん
2018/06/20(水) 00:14:42.51ID:roLNtd78241デフォルトの名無しさん
2018/06/20(水) 07:19:49.66ID:pPwORwNI >>209
俺と同じ感想の人が居てた、python大好き
俺と同じ感想の人が居てた、python大好き
242デフォルトの名無しさん
2018/06/20(水) 08:12:14.73ID:pNRxkBp/ やりたいことに集中できるのがPythonの良さなのは同意するけど、便利な既製のデータ構造なんか他の言語にもだいたい用意されてるだろ
Pythonは文法がシンプルで記述の自由度が低く、変な例外的な仕様も少ないから、
どの書き方が美しいかなどというくだらないことをあまり考えなくていいんだよ
その結果、やりたいことに集中できる
Pythonは文法がシンプルで記述の自由度が低く、変な例外的な仕様も少ないから、
どの書き方が美しいかなどというくだらないことをあまり考えなくていいんだよ
その結果、やりたいことに集中できる
243デフォルトの名無しさん
2018/06/20(水) 09:59:20.08ID:/3yawfqw C++にもベクターっていう超便利さんが居るじゃん
244デフォルトの名無しさん
2018/06/20(水) 12:35:53.89ID:XX+H87IB 1円硬貨: 8 枚
5円硬貨: 3 枚
10円硬貨: 2 枚
50円硬貨: 2 枚
100円硬貨: 3 枚
↑の硬貨のセットを持っているとする。
これらの硬貨を使って支払える金額のうち、その支払いに使える硬貨の組合せが
一通りしかないものの数を求めよ。
これを計算するためのプログラムを作ったのですが、正しい答えが出ません。
どこが間違っているのでしょうか?
http://codepad.org/Hyc8E6HM
5円硬貨: 3 枚
10円硬貨: 2 枚
50円硬貨: 2 枚
100円硬貨: 3 枚
↑の硬貨のセットを持っているとする。
これらの硬貨を使って支払える金額のうち、その支払いに使える硬貨の組合せが
一通りしかないものの数を求めよ。
これを計算するためのプログラムを作ったのですが、正しい答えが出ません。
どこが間違っているのでしょうか?
http://codepad.org/Hyc8E6HM
245デフォルトの名無しさん
2018/06/20(水) 12:38:16.91ID:XX+H87IB246デフォルトの名無しさん
2018/06/20(水) 15:34:20.79ID:OnxnZInx >>243
Cの話してるところにC++の話題持ち込むと混乱するからやめて
Cの話してるところにC++の話題持ち込むと混乱するからやめて
247デフォルトの名無しさん
2018/06/20(水) 16:04:05.44ID:pwTbHfBQ プログラミング全くの初心者なのですが、beautiful soupというのを学ぶのに一番適している本やWebサイトってどれでしょうか?
248デフォルトの名無しさん
2018/06/20(水) 16:29:37.34ID:OnxnZInx ここで聞くのが早い
249デフォルトの名無しさん
2018/06/20(水) 18:27:58.86ID:+C1LL1e5 なにか作リながら覚えたほうがいいよ
250デフォルトの名無しさん
2018/06/20(水) 18:37:51.47ID:Ei8zBiKz251デフォルトの名無しさん
2018/06/20(水) 18:40:48.63ID:pwTbHfBQ とりあえずPythonによるWebスクレイピングという本買って勉強してみます
252デフォルトの名無しさん
2018/06/20(水) 19:36:01.15ID:f2SC6f9A まずチュートリアルくらいやってから目的に着手しろ
253デフォルトの名無しさん
2018/06/20(水) 19:41:13.26ID:pwTbHfBQ 了解です!
254デフォルトの名無しさん
2018/06/20(水) 19:41:29.35ID:j+YwaUS/ この間その本買ったけれどエキサイト翻訳かと思った
255デフォルトの名無しさん
2018/06/20(水) 22:49:52.55ID:NQCW3xu6 jQuery, Ruby のNokogiri の、CSS セレクターを参照。
XPath よりも良い
なでしこの作者、クジラ飛行机の本は、難しいのか
XPath よりも良い
なでしこの作者、クジラ飛行机の本は、難しいのか
256デフォルトの名無しさん
2018/06/21(木) 00:19:08.94ID:dFNQiNVu そんな言い方して初心者がわかるわけねーだろw
257デフォルトの名無しさん
2018/06/21(木) 00:34:34.36ID:9yZQgWTf またrubyスレ荒らしてこなきゃ…
258デフォルトの名無しさん
2018/06/21(木) 02:20:29.04ID:4X5SWneX 使命感なの?
259デフォルトの名無しさん
2018/06/21(木) 09:16:14.27ID:th0Ggf9H いいえ、自作自演です
260デフォルトの名無しさん
2018/06/21(木) 09:21:58.43ID:aMhGFfRi あたまいいな
261デフォルトの名無しさん
2018/06/21(木) 10:29:14.72ID:lfaMuH86 jythonみたいなやつでpython3のはありますか?
262デフォルトの名無しさん
2018/06/21(木) 12:28:34.50ID:Ngoevl6s ありません
263デフォルトの名無しさん
2018/06/21(木) 14:20:26.85ID:4fOpOd5u pypyならあります
264デフォルトの名無しさん
2018/06/21(木) 16:04:08.29ID:+lcgGtMn >>263
pypyってやつを使えばpython3とjavaを一緒に使えるんですか?
pypyってやつを使えばpython3とjavaを一緒に使えるんですか?
265デフォルトの名無しさん
2018/06/21(木) 16:46:24.14ID:4fOpOd5u 楽観的な解釈をするならばYes
質問者のレベルに合わせて考えるならNo
質問者のレベルに合わせて考えるならNo
266デフォルトの名無しさん
2018/06/21(木) 18:16:42.62ID:OqoFGLVJ Anacondaからjupyter notebookを立ち上げてプログラムを起動するとno module named intertoolsというエラーが出ます
中身を確認したり何度かプログラムを動かしていると動作します
数分前まで動いていたプログラムでさえ立ち上げ直後は上記のエラー発生するのですが同様のケースを経験された方はいらっしゃいますか?
中身を確認したり何度かプログラムを動かしていると動作します
数分前まで動いていたプログラムでさえ立ち上げ直後は上記のエラー発生するのですが同様のケースを経験された方はいらっしゃいますか?
267デフォルトの名無しさん
2018/06/22(金) 07:26:43.33ID:Msegs9yk ヘルプかマニュアルに書いてある
268デフォルトの名無しさん
2018/06/22(金) 09:31:36.57ID:MYEvMa8B itertools
269デフォルトの名無しさん
2018/06/22(金) 12:16:23.68ID:rBqx8nP+ 指定した値が入っているリスト番地を返すindexって命令がありますけど
あれの正規表現版みたいなのはないですか?
あれの正規表現版みたいなのはないですか?
270デフォルトの名無しさん
2018/06/22(金) 12:44:11.76ID:nYBVNtu1 みたいなのってなんやねん
271デフォルトの名無しさん
2018/06/22(金) 13:03:23.91ID:MYEvMa8B $1
272デフォルトの名無しさん
2018/06/22(金) 13:42:50.45ID:PcH7NVke273デフォルトの名無しさん
2018/06/22(金) 14:58:02.62ID:lWEcvKD/ idx = next(i for i, v in enumerate(hogelist) if re.search(r"hage", v))
こういう事言ってるのかと思った
こういう事言ってるのかと思った
274デフォルトの名無しさん
2018/06/22(金) 16:28:11.91ID:rBqx8nP+275遊園地
2018/06/22(金) 21:15:46.77ID:FpgraKib 2,3分で書くと、こんなもんかな。
import re
s = "012abc345def"
m = re.findall(r'[a-z]', s)
for i in m:print(i,re.search(i,s).span())
import re
s = "012abc345def"
m = re.findall(r'[a-z]', s)
for i in m:print(i,re.search(i,s).span())
277遊園地
2018/06/22(金) 22:22:53.99ID:FpgraKib 合計金額とか
ない感じ、ですかね。
ない感じ、ですかね。
278デフォルトの名無しさん
2018/06/22(金) 22:24:50.81ID:sTCVcul9279遊園地
2018/06/23(土) 09:53:25.33ID:rgQZb8eO できてないんじゃない?
50+10+10+1+1=72
50+10+5+5+1+1=72
50+5+5+5+1+1+1+1+1+1+1=72
etc..
50+10+10+1+1=72
50+10+5+5+1+1=72
50+5+5+5+1+1+1+1+1+1+1=72
etc..
280デフォルトの名無しさん
2018/06/23(土) 10:34:48.24ID:AshQdjwf 71通りになった
問題の解釈を間違ってなければだけど
問題の解釈を間違ってなければだけど
281デフォルトの名無しさん
2018/06/23(土) 11:37:24.13ID:Ixf2W+q9 スクレイピングしたら
requests.exceptions.ConnectionErrorがでて
「既存の接続はリモート ホストに強制的に切断されました」って表示されたんだけど
これ相手から弾かれたってことですよね
time.sleep(10) に入れてたんだけど少ないですかね。
requests.exceptions.ConnectionErrorがでて
「既存の接続はリモート ホストに強制的に切断されました」って表示されたんだけど
これ相手から弾かれたってことですよね
time.sleep(10) に入れてたんだけど少ないですかね。
282デフォルトの名無しさん
2018/06/23(土) 11:47:11.24ID:Kj6n8aPV サイトによるだろ。株やFXならともかく、普通のサイトだと気が狂ってるとしか思えんフェッチする連中がいるし。
283デフォルトの名無しさん
2018/06/23(土) 11:59:31.45ID:AshQdjwf denyされていなくてもサーバーが高負荷になってれば普通に出る
denyされてるのか単なるエラーなのかは切断の傾向から推測するしかない
それなしに、ただ切断されましたと言われても分かんないね
denyされてるのか単なるエラーなのかは切断の傾向から推測するしかない
それなしに、ただ切断されましたと言われても分かんないね
284281
2018/06/23(土) 12:44:32.88ID:Ixf2W+q9285デフォルトの名無しさん
2018/06/23(土) 13:17:45.77ID:AshQdjwf 接続を弾く場合、一般的にはファイヤーウォールやhttpdの機能を使う
それの設定の定番がallow-deny形式のルール
denyされた=ファイヤーウォールやhttpdで接続を拒否するように設定された
と考えて
それの設定の定番がallow-deny形式のルール
denyされた=ファイヤーウォールやhttpdで接続を拒否するように設定された
と考えて
286281
2018/06/23(土) 14:13:39.32ID:X4Sjt2iY >>285
ありがとう。止まったのは夜中だから機械的にアクセス拒否されたと考えてます。
timesleepの秒数をもっと長くして、あとrondomと組み合わせて、同じ時間感覚でアクセスするのやめるて様子みてみます。
ありがとう。止まったのは夜中だから機械的にアクセス拒否されたと考えてます。
timesleepの秒数をもっと長くして、あとrondomと組み合わせて、同じ時間感覚でアクセスするのやめるて様子みてみます。
287遊園地
2018/06/23(土) 14:24:38.20ID:rgQZb8eO 初歩的な対処法なら
同じIPアドレスからのアクセスの間隔が常にほぼ同じ秒数間隔の変更
同じIPアドレスから、同じユーザーエージェントで大量にアクセス IP変更で対処
人間らしくないきっちりしすぎるアクセス *1
何度もアクセスしてきているのに、セッションクッキーを絶対に送ってこない
__CookieはWEBサーバーが発行し、ブラウザが保持するキーと値
__セッションはWEBサーバーで保持するキーと値
確認方法
C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Windows\Cookies
ブラウザのアドレス欄に____javascript:document.cookie;
リファラーがまったくない ココは調べてる必要がある
*1
__HTMLだけにアクセスしてJavaScriptやCSS、画像にまったくアクセスしていない
注意:画像だけにアクセスしても同様に対処される
同じIPアドレスからのアクセスの間隔が常にほぼ同じ秒数間隔の変更
同じIPアドレスから、同じユーザーエージェントで大量にアクセス IP変更で対処
人間らしくないきっちりしすぎるアクセス *1
何度もアクセスしてきているのに、セッションクッキーを絶対に送ってこない
__CookieはWEBサーバーが発行し、ブラウザが保持するキーと値
__セッションはWEBサーバーで保持するキーと値
確認方法
C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Windows\Cookies
ブラウザのアドレス欄に____javascript:document.cookie;
リファラーがまったくない ココは調べてる必要がある
*1
__HTMLだけにアクセスしてJavaScriptやCSS、画像にまったくアクセスしていない
注意:画像だけにアクセスしても同様に対処される
288デフォルトの名無しさん
2018/06/23(土) 14:26:59.81ID:8e5n022B それこそ人工知能で人間っぽくみせるプログラムとかを作ってほしいですよね。
289遊園地
2018/06/23(土) 14:29:45.70ID:rgQZb8eO いくつかの書式形式から、HTML構造を頻繁に変えられると
もう、維持の張り合い
そんなサイトに出くわした事はない。けどなーw
もう、維持の張り合い
そんなサイトに出くわした事はない。けどなーw
290遊園地
2018/06/23(土) 14:35:43.61ID:rgQZb8eO291281
2018/06/23(土) 16:00:37.87ID:Ixf2W+q9 >>287
とても参考になります。
>同じIPアドレスからのアクセスの間隔が常にほぼ同じ秒数間隔の変更
やりました。今のところこれだけで大丈夫そうです。
>同じIPアドレスから、同じユーザーエージェントで大量にアクセス IP変更で対処
調べたらやり方がでてきたので、検討します。
>人間らしくないきっちりしすぎるアクセス *1
わかりました。覚えておきます。
>C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Windows\Cookies
Appdateというフォルダがなく、C:\Users\(ユーザー名)、までしか一致しなかったです。
Cドライブ指定で「Cookies」で検索しましたが、これに関係ありそうなファイルにはたどり着けませんでした。
こちらwin10(64)です。
>ブラウザのアドレス欄に____javascript:document.cookie;
やりました。なんか文字いっぱい出てきました。
>リファラーがまったくない ココは調べてる必要がある
検索結果のURLに直接アクセスしてるので、TOPの検索経由でスクレイピングする方法も試してみます。
とても参考になります。
>同じIPアドレスからのアクセスの間隔が常にほぼ同じ秒数間隔の変更
やりました。今のところこれだけで大丈夫そうです。
>同じIPアドレスから、同じユーザーエージェントで大量にアクセス IP変更で対処
調べたらやり方がでてきたので、検討します。
>人間らしくないきっちりしすぎるアクセス *1
わかりました。覚えておきます。
>C:\Users\(ユーザー名)\AppData\Roaming\Microsoft\Windows\Cookies
Appdateというフォルダがなく、C:\Users\(ユーザー名)、までしか一致しなかったです。
Cドライブ指定で「Cookies」で検索しましたが、これに関係ありそうなファイルにはたどり着けませんでした。
こちらwin10(64)です。
>ブラウザのアドレス欄に____javascript:document.cookie;
やりました。なんか文字いっぱい出てきました。
>リファラーがまったくない ココは調べてる必要がある
検索結果のURLに直接アクセスしてるので、TOPの検索経由でスクレイピングする方法も試してみます。
292遊園地
2018/06/23(土) 18:20:10.76ID:rgQZb8eO >>291
おめでとう。
こっちはURLまで取得できるけど、保存だと弾かれて苦戦中
試しにIPとブラウザ偽装でも、ダメだった。
諦めて、PyAutoGUIでキーボードでブラウザ操作に切り替え用か迷ってる。
おめでとう。
こっちはURLまで取得できるけど、保存だと弾かれて苦戦中
試しにIPとブラウザ偽装でも、ダメだった。
諦めて、PyAutoGUIでキーボードでブラウザ操作に切り替え用か迷ってる。
293デフォルトの名無しさん
2018/06/23(土) 21:41:08.02ID:m3qN670q 質問です。
こんなふうなスクリプトを書いています。
https://pastebin.com/0KKDbGnp
68〜75行目で変数に関数を代入していますが、77〜78行目をコメントアウトしてあるので何も動かないと思うんですが、実際には6行目の関数が動いてprint(〜)とinput()が求められてしまいます。
なぜ動くんでしょうか?
こんなふうなスクリプトを書いています。
https://pastebin.com/0KKDbGnp
68〜75行目で変数に関数を代入していますが、77〜78行目をコメントアウトしてあるので何も動かないと思うんですが、実際には6行目の関数が動いてprint(〜)とinput()が求められてしまいます。
なぜ動くんでしょうか?
294デフォルトの名無しさん
2018/06/23(土) 21:56:20.14ID:I6yycig3295デフォルトの名無しさん
2018/06/23(土) 21:58:47.18ID:1v1LX/MG 68行目でget_service_idを実行してるから。
関数の代入ではなく関数の評価結果の代入になってる。
だからget_service_id関数はそこで評価(実行)され、そこでinput求められてる。
関数の代入ではなく関数の評価結果の代入になってる。
だからget_service_id関数はそこで評価(実行)され、そこでinput求められてる。
296デフォルトの名無しさん
2018/06/23(土) 22:26:43.34ID:m3qN670q297デフォルトの名無しさん
2018/06/23(土) 22:33:19.54ID:AshQdjwf え、ifも分からないとかそういうレベルなの
ifは分かるの?どう?
ifは分かるの?どう?
298デフォルトの名無しさん
2018/06/23(土) 22:36:48.34ID:euiJmXfR if文は分かりますが、この場合どうやって使うんでしょうか?
299デフォルトの名無しさん
2018/06/23(土) 22:38:41.95ID:3sIWKIRG >>297
なんでいちいち煽るのスレタイ読めないの
なんでいちいち煽るのスレタイ読めないの
300デフォルトの名無しさん
2018/06/23(土) 22:41:53.16ID:AshQdjwf ifで77に必要なコードと78に必要なコードに分けろ
普通の頭ならそうする
>77や78を動かした時のみ上の関数が動くようにするにはどんな方法がありますか?
変数を一切使わなければいい
あのコードだと読み辛すぎて普通の頭ならやらない
普通の頭ならそうする
>77や78を動かした時のみ上の関数が動くようにするにはどんな方法がありますか?
変数を一切使わなければいい
あのコードだと読み辛すぎて普通の頭ならやらない
301デフォルトの名無しさん
2018/06/23(土) 22:57:34.69ID:m3qN670q302遊園地
2018/06/23(土) 23:03:26.61ID:rgQZb8eO303デフォルトの名無しさん
2018/06/23(土) 23:06:55.26ID:rgQZb8eO304デフォルトの名無しさん
2018/06/24(日) 15:48:36.36ID:RVJ6teNY スクレイピングに挑戦してるんだど
503や404のHTTPerror別に処理を分ける方法ってありますか?
503の時は動作停止
404の時は動作続行
としたいんだけど…
検索してもさっぱり手掛かり掴めないので、
方法としてあるかどうかだけでも知りたいです。
503や404のHTTPerror別に処理を分ける方法ってありますか?
503の時は動作停止
404の時は動作続行
としたいんだけど…
検索してもさっぱり手掛かり掴めないので、
方法としてあるかどうかだけでも知りたいです。
305304
2018/06/24(日) 15:52:00.43ID:RVJ6teNY306デフォルトの名無しさん
2018/06/24(日) 16:45:34.35ID:2Vrp11he プログラミングもやったことないんですが、いきなりpythonの入門書をやっていいのでしょうか?
307デフォルトの名無しさん
2018/06/24(日) 16:49:24.00ID:2Vrp11he それともPCの入門書みたいな本を先にやるべきでしょうか?
308デフォルトの名無しさん
2018/06/24(日) 17:11:02.94ID:uBBkkzH4309デフォルトの名無しさん
2018/06/24(日) 17:19:49.55ID:fW0KLT9g スクレイピングとapiについての質問なのですが
セキュリティ関連のあるサイトから検索し、結果を取得したいのですが提供されているapiがリクエスト上限が分間数件とかです…
もう少し効率よく取得したいのですがスクレイピングならこういう制限なく自由に取っていって良いんでしょうか?
robots.txtは確認しましたがdelayの項目は無く制限された階層?からの取得はありません。
セキュリティ関連のあるサイトから検索し、結果を取得したいのですが提供されているapiがリクエスト上限が分間数件とかです…
もう少し効率よく取得したいのですがスクレイピングならこういう制限なく自由に取っていって良いんでしょうか?
robots.txtは確認しましたがdelayの項目は無く制限された階層?からの取得はありません。
310デフォルトの名無しさん
2018/06/24(日) 17:22:56.35ID:iZ9NT8wM >>306
まずPythonをやる動機はあるのかい?
システムを外注する金がないからお前作れと上司から無茶振りされたとか、
学校の課題で出されたとか、具体的な動機がないとプログラミングは身につかない
ただやってみたいってだけで身に付くのは好奇心旺盛で頭が柔軟な子供のみ
まずPythonをやる動機はあるのかい?
システムを外注する金がないからお前作れと上司から無茶振りされたとか、
学校の課題で出されたとか、具体的な動機がないとプログラミングは身につかない
ただやってみたいってだけで身に付くのは好奇心旺盛で頭が柔軟な子供のみ
>>310
>ただやってみたいってだけで身に付くのは好奇心旺盛で頭が柔軟な子供のみ
子供は子供相応のやさしい課題をやるから「やってみたい」だけで身につく、という面があるのだろうね
プログラミングは複雑だし、単に覚えるだけではなく創る面もあるから、継続してモチベーションを維持しないといけない
モチベーションの維持ってどうすればいいのかな?
>ただやってみたいってだけで身に付くのは好奇心旺盛で頭が柔軟な子供のみ
子供は子供相応のやさしい課題をやるから「やってみたい」だけで身につく、という面があるのだろうね
プログラミングは複雑だし、単に覚えるだけではなく創る面もあるから、継続してモチベーションを維持しないといけない
モチベーションの維持ってどうすればいいのかな?
312デフォルトの名無しさん
2018/06/24(日) 17:38:59.94ID:I6qT+7Vz >>309
日本では悪しき前例があるから「どこまでならやっていいのか」に関しては部外者はなにも保証できない
そのサイトにルールが記載されてないなら運営に直接に尋ねるのが正解
尋ねた上でやるなと言われたら素直に諦めてAPIを使う
ビジネス上のメリットを提示して交渉できるなら希望はあるけど個人じゃ難しいよ
日本では悪しき前例があるから「どこまでならやっていいのか」に関しては部外者はなにも保証できない
そのサイトにルールが記載されてないなら運営に直接に尋ねるのが正解
尋ねた上でやるなと言われたら素直に諦めてAPIを使う
ビジネス上のメリットを提示して交渉できるなら希望はあるけど個人じゃ難しいよ
313デフォルトの名無しさん
2018/06/24(日) 18:02:51.87ID:KnGMQ2/n >>312
ありがとう
英語のサイトで尋ねるのも大変ですし、この作業自体が隣の席の人がダルそうにチェックしてるから
どうにか出来ないかな レベルの話だからAPIで簡単に実装してみます
遅いダルいとか言い出したら昔の事件の存在とか少し伝えてそれでも欲しがったらスクレイピングしてみます改めてありがとう
ありがとう
英語のサイトで尋ねるのも大変ですし、この作業自体が隣の席の人がダルそうにチェックしてるから
どうにか出来ないかな レベルの話だからAPIで簡単に実装してみます
遅いダルいとか言い出したら昔の事件の存在とか少し伝えてそれでも欲しがったらスクレイピングしてみます改めてありがとう
314304
2018/06/24(日) 18:09:49.65ID:RVJ6teNY >>308
すみません。質問用に同様の動作をするコードを作りました。下記コードを元に何らかの助言が頂ければと思います。
urllistは質問用に設定したヤフーニュースの記事です。現状だと「res.raise_for_status()」が記述されているため、2つめの記事「〜pickup/9999999」の読み取り時に404エラーが出て処理が停止します。
エラーコードは 〜 requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://news.yahoo.co.jp/pickup/9999999 〜 です。
実現したいことは、404エラーの時は停止せず、次のURL読み込みに進んでほしいのです。ただし、503エラーの時は、停止させたいと思っています。
res.raise_for_status()を消せば処理は進みますが、503の時もアクセスし続けてしまうことが課題です。
----------
import requests, bs4
import csv
urllist1 = [
'https://news.yahoo.co.jp/pickup/6287442',
'https://news.yahoo.co.jp/pickup/9999999',
'https://news.yahoo.co.jp/pickup/6287380',
]
with open('news.csv', 'w', encoding='CP932', errors='ignore') as f:
for urllist in urllist1:
res = requests.get(urllist)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
elems = soup.select('h2')
for elem in elems:
print(elem)
writer = csv.writer(f)
writer.writerows(elems)
----------
すみません。質問用に同様の動作をするコードを作りました。下記コードを元に何らかの助言が頂ければと思います。
urllistは質問用に設定したヤフーニュースの記事です。現状だと「res.raise_for_status()」が記述されているため、2つめの記事「〜pickup/9999999」の読み取り時に404エラーが出て処理が停止します。
エラーコードは 〜 requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://news.yahoo.co.jp/pickup/9999999 〜 です。
実現したいことは、404エラーの時は停止せず、次のURL読み込みに進んでほしいのです。ただし、503エラーの時は、停止させたいと思っています。
res.raise_for_status()を消せば処理は進みますが、503の時もアクセスし続けてしまうことが課題です。
----------
import requests, bs4
import csv
urllist1 = [
'https://news.yahoo.co.jp/pickup/6287442',
'https://news.yahoo.co.jp/pickup/9999999',
'https://news.yahoo.co.jp/pickup/6287380',
]
with open('news.csv', 'w', encoding='CP932', errors='ignore') as f:
for urllist in urllist1:
res = requests.get(urllist)
res.raise_for_status()
soup = bs4.BeautifulSoup(res.text, "html.parser")
elems = soup.select('h2')
for elem in elems:
print(elem)
writer = csv.writer(f)
writer.writerows(elems)
----------
315デフォルトの名無しさん
2018/06/24(日) 18:37:04.52ID:2Vrp11he >>310
文系の大学生で、暇なのでやってみたいと思いました…
文系の大学生で、暇なのでやってみたいと思いました…
316デフォルトの名無しさん
2018/06/24(日) 18:44:52.85ID:L9YI7tib317デフォルトの名無しさん
2018/06/24(日) 18:57:21.23ID:KnGMQ2/n >>315
正直何に困ってるのか掴みかねますが
PCの入門本かpython入門本で迷うと言うことは基本的なPC知識が足りないと言うことでしょうか
自分で問題無く環境構築など進めるかと言った疑問でしょうか。
どちらにしても暇を持て余しているのであればネットで調べて実際にやってみると出来る出来ない分からないなどがはっきりし
質問しやすくなったり書籍購入するにしてもどういう本が良いか検討しやすくなると思われます。
正直何に困ってるのか掴みかねますが
PCの入門本かpython入門本で迷うと言うことは基本的なPC知識が足りないと言うことでしょうか
自分で問題無く環境構築など進めるかと言った疑問でしょうか。
どちらにしても暇を持て余しているのであればネットで調べて実際にやってみると出来る出来ない分からないなどがはっきりし
質問しやすくなったり書籍購入するにしてもどういう本が良いか検討しやすくなると思われます。
318デフォルトの名無しさん
2018/06/24(日) 19:18:26.36ID:nwkedvyK >>ID:2Vrp11he
そもそもPCをあまり使ったことがあまりないなら、まずはPCを使い倒すこと
その中で「一件片付けるのは簡単だけど、何百件単位で片付けなきゃいけないからやってられない」って作業を見つけたら
それをプログラムで解決してみればいい
あと、プログラムを覚える前段階として正規表現を覚えるといいよ
Webから情報をコピー→テキストエディタやエクセルに貼り付け→正規表現で整形
という作業を日常的によくやるようになったら、プログラムスキルも伸びやすいと思う
そもそもPCをあまり使ったことがあまりないなら、まずはPCを使い倒すこと
その中で「一件片付けるのは簡単だけど、何百件単位で片付けなきゃいけないからやってられない」って作業を見つけたら
それをプログラムで解決してみればいい
あと、プログラムを覚える前段階として正規表現を覚えるといいよ
Webから情報をコピー→テキストエディタやエクセルに貼り付け→正規表現で整形
という作業を日常的によくやるようになったら、プログラムスキルも伸びやすいと思う
319デフォルトの名無しさん
2018/06/24(日) 19:25:45.93ID:VtKhATJw >>314
for urllist in urllist1:
res = requests.get(urllist)
if res.status_code == 404:
# 何がしかの処理(必要なら)
continue # forに戻って次の処理に進む
res.raise_for_status()
for urllist in urllist1:
res = requests.get(urllist)
if res.status_code == 404:
# 何がしかの処理(必要なら)
continue # forに戻って次の処理に進む
res.raise_for_status()
320デフォルトの名無しさん
2018/06/24(日) 19:34:46.58ID:QeMF1Yls 最初っからわかるヤツなんていない。
「どっから手を付けていいのかわからない」が当たり前。そこで苦しんで覚えるかってのが分岐点だな。
「どっから手を付けていいのかわからない」が当たり前。そこで苦しんで覚えるかってのが分岐点だな。
321314
2018/06/24(日) 19:55:19.06ID:RVJ6teNY322デフォルトの名無しさん
2018/06/24(日) 19:57:20.22ID:2Vrp11he 環境構築とか正規表現とか用語が分からないけど、やっぱり暇を活かして自分で少しやってみます
323314
2018/06/24(日) 20:25:01.44ID:RVJ6teNY324314
2018/06/24(日) 20:39:49.25ID:RVJ6teNY 自己解決しました。
res.raise_for_status() 以下のインデントを間違えていました!
自己解決!
res.raise_for_status() 以下のインデントを間違えていました!
自己解決!
325デフォルトの名無しさん
2018/06/24(日) 23:18:20.51ID:chBT6m1a まず学生は、cd, echo, cat とか、数十のLinux 基本コマンドから勉強する
謎のような呪文を覚えるって、皆言ってる
謎のような呪文を覚えるって、皆言ってる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 一律現金給付も消費減税もなし 高市内閣の経済対策に割れる世論 [蚤の市★]
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 中国大使さん、麻生太郎を『この政治屋』と名指しし正論長文を投稿。 [271912485]
- 【実況】博衣こよりのえちえち朝活🧪 2
- 【実況】博衣こよりのえちえち朝活🧪
- 中国「もはや高市の謝罪や撤回で済まされるフェーズは過ぎ去った。辞任以外の選択肢ない」 [271912485]
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- 残クレマイホーム爆誕 [715715613]
