- くだすれPython(超初心者用) その47【Ruby禁止】
250 :デフォルトの名無しさん[sage]:2020/03/29(日) 05:29:29.33 ID:8xENdWjm - >>248
Ruby, selenium-webdriver, nokogiri で作ったが、href を取得しようとすると、エラーになる。 sleep 15 して待っても、エラーのまま 要素は存在するけど、JavaScript で動的に、href を作っているのかも。 他から取得するか、クリックするなど、何かアクションを起こせば、作られるのかも require "selenium-webdriver" require "nokogiri" options = Selenium::WebDriver::Chrome::Options.new driver = Selenium::WebDriver.for :chrome, options: options driver.navigate.to "http://news.yahoo.co.jp/topics/top-picks" doc = Nokogiri::HTML( driver.page_source ) css_selector = "a.newsFeed_item_link" elements = driver.find_elements( :css, css_selector ) results = elements.map { |elem| elem.attr( "href" ) } puts results driver.quit
|
- スレ立てるまでもない質問はここで 152匹目
884 :デフォルトの名無しさん[sage]:2020/03/29(日) 09:24:05.07 ID:8xENdWjm - Rails は、本が10冊ぐらい出てる。
数冊読んだら最難関、無料のRails チュートリアルへ進む Rails は、MVC デザインパターンの標準で、 すべての言語・フレームワークの基礎になっているから、他言語へも応用できる CakePHP, Spring Boot は、Rails のコピーだから流行った Node.js は、Ruby のコピー。 npm, yarn は、bundler のコピー モデルクラス名が、Member なら、テーブル名は、members、 コントローラークラス名は、MembersController など、 MVC において、命名規則が決まっているから、 モデルクラス名を決めると、すべてが決まる!
|
- くだすれPython(超初心者用) その47【Ruby禁止】
251 :250[sage]:2020/03/29(日) 09:52:13.78 ID:8xENdWjm - >>250
は、nokogiri を使わず(doc という変数を使っていなかった)、 selenium-webdriver から取得していたので、 それを、20秒スリープして、nokogiriから取得するように変えたら、25個のhref を取得できた! require "selenium-webdriver" require "nokogiri" options = Selenium::WebDriver::Chrome::Options.new driver = Selenium::WebDriver.for :chrome, options: options driver.navigate.to "http://news.yahoo.co.jp/topics/top-picks" sleep 20 doc = Nokogiri::HTML( driver.page_source ) css_selector = "a.newsFeed_item_link" elements = doc.css( css_selector ) results = elements.map { |elem| elem.attr( "href" ) } puts results.length, results 出力、以下が25個 https://news.yahoo.co.jp/pickup/6355533 https://news.yahoo.co.jp/pickup/6355534
|
- スレ立てるまでもない質問はここで 152匹目
890 :デフォルトの名無しさん[sage]:2020/03/29(日) 11:23:43.06 ID:8xENdWjm - >>875
JavaScript の質問は、この板ではありません! web制作管理板の方へ書き込んでください!
|