• 締切済み

pythonのスクレイピング 特定の数の情報抜取り

現在、スクレイピングの練習をしている者です。例えばニュースサイトから上から50個だけ記事を抜き取りたいなど数を指定することはできるのでしょうか? 解る方がいらっしゃいましたらご回答よろしくお願い致します。

  • 8937
  • お礼率66% (2/3)
  • Python
  • 回答数1
  • ありがとう数0

みんなの回答

noname#259146
noname#259146
回答No.1

>数を指定することはできるのでしょうか? 現在なにがしかのフレームワークやツールを使い情報取得時に引数として取得数を与えるようにしたいのでしょうか? その場合お使いのフレームワークやツールのご提示があれば回答があるかもしれません。 ご希望の方法とは違いますが、情報の取得後50回必要な処理(表示等)を行うことで同様の結果が得られると思います。

関連するQ&A

  • 独自ドメインがスクレイピングされました。

    独自ドメインがスクレイピングされました。スクレイピングされたサイトはhost.ioです。APIも公開されています。移管する予定のドメイン会社に問い合わせしてみた所、スクレイピング対策はしていない、質問する場を探すならYahooかGoogleで検索と行っても内容的にドメインもしくはサーバー会社で対策しないとダメなような理由は→APIがLinuxコマンド用。ほぼ個人で出来る事柄があればやりますの段階です。 また、詳しい人でも回答が出来ない内容なのであれば、適切に質問出来るサイトを探しています。よろしくお願いいたします。問題のAPI hxxps://host.io/docs#authentication ※画像に出ているサーバー名の部分は既に解約済み。

  • GASでのWEBスクレイピング

    業務効率化のため、以下の記事を参考に GASでのWEBスクレイピングを試してみましたが POSTのUrlFetchApp.fetchでエラーとなってしまいます。 ◯参考記事 http://katsulog.tech/get-the-source-after-logging-in-to-the-site-when-scraping-with-googlespreadsheet/ ◯エラー内容 https://www.fc-hikaku.net/client/sessions のリクエストに失敗しました(エラー: 422) ◯実施したいサイト(ログインページ) https://www.fc-hikaku.net/client そもそもログインができていないと思われるのですが GASにおいてエラーの切り分けなどの仕方もわからず 詳しい方にご助力いただきたいです。 参考記事内のサンプルは正常に動作しております。 宜しくお願いします。

    • ベストアンサー
    • Java
  • スクレイピングに関して

    現在はローワークのデータをスクレイプするシステム作ってますが 例えば豊岡市で検索しても、八王子市で検索しても全て同じアドレスに https://www.hellowork.go.jp/servicef/130020.do に飛んでしまう為、スクレイピングが不可能な状態です。しかし、ハローワークをスクレイプしたサイトは多数ありますし、出来るのだと思うのですが、どうやったらできるんでしょうか?? 恐らくHTTPリクエストで同じ値を飛ばし、受ければ取得できると思いますが <input type="text" name="chiku1" value="豊岡市" /> $post = $_POST['chiku1']; これでもできません。どうしたらいいでしょうか。

    • ベストアンサー
    • PHP
  • 特定の周波数を通す、通さない機器

    現在ノイズを使った実験をしています。 そこで、指定した範囲の周波数を通し、指定した範囲の周波数を遮断するような機械を探しています。 低周波数に高い分解能があるとよいのですが。またできれば10万円以内のものがよいです。 ご存知の方は是非ともご回答お願いします(>_<)

  • python スクレイピングでのログインができない

    スクレイピングをするために 下記のようなログインサイトにpythonでログインしたいです。 仮定url ="https://aaaaaaa/signin" <form> <p class="signin-label">ログイン画面</p> <ul class="signin-list"> <li class="signin-item"> <div class="hoge1"> <label class="hoge2">メールアドレス</label><div class="hoge3"> <input id="email" autocomplete="email" class="hoge4" type="email" required=""></div> </div> </li> <li class="signin-item"> <div class="hoge5"> <label class="hoge6">パスワード</label> <div class="hoge7"> <input id="password" autocomplete="new-password" class="hoge8" type="password" required=""></div> </div><p class="txt-right"> <a class="signin-link" href="/d/forgot_password">パスワードをお忘れの方</a></p></li></ul><div class="txt-center"> <button type="submit" class="hoge9">ログイン</button> </div> </form> ★行っているコード import requests from bs4 import BeautifulSoup from urllib.parse import urljoin # メールアドレスとパスワードの指定 MAIL = "aaa@mail.net" PASS = "555" # セッションを開始 session = requests.session() # ログイン login_info = { "email":MAIL, "password":PASS, } # action url_login = "https://aaaaaaa/signin" res = session.post(url_login, data=login_info) res.raise_for_status() # エラーならここで例外を発生させる res.text ※エラー内容 HTTPError: 404 Client Error: Not Found for url:https://aaaaaaa/signin 上記となります。 お知恵拝借いただけないでしょうか。

  • python,bs4でスクレイピング出来ません

    **お世話になります、python初心者ですpython2.7,beautifulsoupを用いて、競馬データをスクレイピングしておりますが、どうにも困っております。 1行だけはprintすることが出来るのですが、20行をスクレイピングするスクリプトと、併せて、CSVに出力させるスクリプトが分かりません。 ** 発生している問題・エラーメッセージ **csvに保存が出来ないこと 20行をまとめてスクレイピングすることが出来ないこと` ** ###該当のソースコード python2.7 -*- coding:utf-8 -*- import urllib2 import codecs from bs4 import BeautifulSoup f = codecs.open('horse.csv', 'w', 'utf-8') f.write('race_date,kaisai,weather,race_number,race_name,tousuu,frame_number,horse_number,single_win_ratio,popularity,horse_arrival,horse_name,weight,distance,baba, race_time,difference,horse_pass,pace,nobori,horse_weight,win_horse,prize_money'+ u"\n") tpl_url='http://db.netkeiba.com/?pid=jockey_detail&id=00663&page={0}' for i in xrange(1, 5): url=tpl_url.format( i ) soup = BeautifulSoup(urllib2.urlopen(url).read(),"lxml") tr_arr = soup.find('div', {'id':'contents_liquid'}).findAll('tbody') for tr in tr_arr: 日付#race_date lrg1= tr.findAll('td')[0].string 開催#kaisai lrg2= tr.findAll('td')[1].string 天気#weather lrg3= tr.findAll('td')[2].string 第○レース#race_number lrg4= tr.findAll('td')[3].string レース名#race_name lrg5= tr.findAll('td')[4].string 映像(この部分、削除したいです) lrg6= tr.findAll('td')[5].string 頭数#tousuu lrg7= tr.findAll('td')[6].string 枠番#frame_number lrg8= tr.findAll('td')[7].string 馬番#horse_number lrg9= tr.findAll('td')[8].string 単勝#single_win_racio lrg10= tr.findAll('td')[9].string 人気#popularity lrg11= tr.findAll('td')[10].string 着順#horse_arrival lrg12= tr.findAll('td')[11].string 馬名#horse_name lrg13= tr.findAll('td',{'class':'txt_l'}) [1] 斤量#weight lrg14= tr.findAll('td')[13].string 距離#distance lrg15= tr.findAll('td')[14].string 馬場#baba lrg16= tr.findAll('td')[15].string タイム#race_time lrg17= tr.findAll('td')[16].string 着差#difference lrg18= tr.findAll('td')[17].string 通過#horse_pass lrg19= tr.findAll('td')[18].string ペース#pace lrg20= tr.findAll('td')[19].string 上り#nobori lrg21= tr.findAll('td')[20].string 馬体重#horse_weight lrg22= tr.findAll('td')[21].string 勝ち馬#win_horse lrg23= tr.findAll('td',{'class':'txt_l'}) [2] 賞金#prize_money lrg24= tr.findAll('td')[23].string print lrg1,lrg2,lrg3,lrg4,lrg5,lrg6,lrg7,lrg8,lrg9,lrg10,\ lrg11,lrg12,lrg13.a.string,lrg14,lrg15,lrg16,lrg17,\ lrg18,lrg19,lrg20,lrg21,lrg22,lrg23.a.string,lrg24 f.close() (参考)下記のコードが苦慮しておりますスクレイピング対象のHTMLの 最初の1行部分でございます。 開催日毎に、これが1つのページに、20行、連続してございます。 1行しか捕らえられず、困っております。 <tbody> <tr class=""> <td><a href="/race/list/20160807/">2016/08/07</a></td> <td><a href="/race/sum/04/20160807/">2新潟4</a></td> <td>晴</td> <td class="txt_right">12</td> <td class="bml txt_l"><a href="/race/201604020412/" title="3歳上500万下">3歳上500万下</a></td> <td> <a href="/?pid=movie&amp;id=201604020412" target="_blank"><img src="/style/netkeiba.ja/image/icon_douga.png" border="0"></a> </td> <td class="txt_right">15</td> <td class="txt_right">7</td> <td class="txt_right">13</td> <td class="r3ml txt_right">6.9</td> <td class="r3ml txt_right">3</td> <td class="r2ml txt_right">2</td> <td class=" txt_l"> <a href="/horse/2013103614/">チェイスダウン</a> </td> <td>54</td> <td>ダ1200</td> <td>良</td> <td class="txt_right">1:11.9</td> <td class="txt_right">0.3</td> <td>8-8</td> <td>34.5-37.1</td> <td class="r1ml">36.6</td> <td>468(+2)</td> <td class=" txt_l"> <a href="/horse/2013101531/">クリムゾンバローズ</a> </td> <td>300.0</td> 試したこと forなどで、ループさせてみましたが、スキル不足でうまくいきませんでした。 補足情報(言語/FW/ツール等のバージョンなど) python2.7 findAllを多用して、力ずくで作ったプログラムでございます。 先輩の皆様方、御教示よろしくお願いいたします。

  • スクレイピングする際のマナー(吸い出すデータ量等

    よその会社の運営するサイトからスクレイピングして、 データベースを組もうと思います。 あまり一気にやってしまうと、先方のサーバに負荷がかかってご迷惑をかけてしまうかもしれないので、 どの程度のペースで行うべきかを相談させていただきたくお願い申し上げます。 なお、先方のサイトは月間1000万PVくらいの大きなサイトなので、 サーバもしっかりとしたものを入れていると思います。

  • PHPスクレイピングが上手くいきません

    PHP Simple HTML DOM Parser を使って、スクレイピングをやってみようと 試行錯誤している最中なのですが、上手く出来なくて困っています。 具体的に分からないのは、以下の点です。 -------------------------------------------------------------------- $html = file_get_html('http://...'); foreach($html->find('ここの指定方法が分かりません') as $item); echo $item->plaintext; -------------------------------------------------------------------- こういった場合の文字列の指定方法は、 何をどう勉強すれば理解出来るようになるのでしょうか。 具体的に教えて頂けると助かります。 また、http://www.iimy.co.jp/item/p-33969.htmlに記載されている、 「1口以上の価格」の数値をこの方法で表示させたい場合(単位の"円"を除く)、 どのような指定方法になりますか? 「class="infoBoxContents"」を含めれば指定しやすそうだと考えて、 foreach($html->find('.infoBoxContents') as $item); echo $item->plaintext; と記述して、ひとまずこのclassを全て表示させようとしたのですが、 表示されたのは「ポイント 0 ポイント」だけでした。 参考にしたのは以下サイトです。 [PHP Simple HTML DOM Parserの使用方法] http://www.crystal-creation.com/web-appli/technical-information/programming/php/library/simplehtmldom/manual.htm

    • ベストアンサー
    • PHP
  • IP数とPV数があまりにかけ離れています。何かあるのでしょうか?

     はじめまして。  私は、ブログをはじめて間がない者ですが、最近ブログへのアクセス件数を見て驚いています。IP数とPV数があまりにかけ離れていることです。実際には、IP数が100程度なのに、PVが2000~4000近くあるのですが、何か、あるのでしょうか?  ちなみに、これまでに書いた記事の総数は70前後です。訪問してくれた方々が1人につき20数ページずつ読んで下さったとは考えにくいです。  また、こういう現象がここ1週間ほど続いていることに驚いております。RSSを使って読んでくださる人ならば、新たに加わった1つの記事しか読まないですし、ブログを点々とサーフィンしている方なら、なおさら何ページも読まれないと思います。  初心者のため、ブログに詳しくない上、先日記事と関係のないトラックバックを消したら、またトラックバックされるという「いたちごっこ」を経験しました。そのことが原因になっているのかなあとも思いますが、正直わかりません。    つきましては、現在私はどういう状態に置かれているのか、また上の件について、何か対処したほうがいいのかなど、お詳しい方がおられましたら、ぜひお教えください。  よろしくお願いいたします。  

  • サイトのVBAでのスクレイピングについて

    下記サイトを「VBA」でスクレイピングして、表示される動画の「タイトル一覧」を作成したいです。 ただ「Javascript」?で作成されているようで、表示されてる{内容}と{HTML}が一致せず、タイトルを取得できません。 しばらく前までは、単純に取得できてましたが、最近サイトの表示の仕方が変わってしまいました。 色々調べてやってみましたがダメです。 どなたか詳しい方、ご教示願います。 https://tver.jp/search