Dieses Mal werde ich etwas machen, das die Anzahl der Foto-Downloads grafisch darstellt.
** Einzelheiten ** Es gibt eine urheberrechtsfreie Website zum Posten von Bildern mit dem Namen Photo AC, und die Anzahl der Downloads am Vortag wird angezeigt. Am nächsten Tag kann ich die Anzahl der Downloads vor zwei Tagen nicht sehen, also einmal am Tag Ich möchte es bekommen, in die Datenbank stellen und schließlich ein Diagramm erstellen. https://www.photo-ac.com/ (Wenn Ihr Konto dadurch gestoppt wird, tun Sie dies bitte auf eigenes Risiko lol)
Schaben
Im Moment möchte ich den Teil implementieren, der einmal Informationen von der Site erhält.
Im Gegensatz zum letzten Mal verwenden wir diesmal Mechanize, da es sich um eine Anmeldung handelt.
source 'https://rubygems.org/'
gem 'nokogiri'
gem 'mechanize'
In diesem Staat
bundle install --path .bundle
Der Grund, warum Sie den Pfad mit --path angeben, besteht darin, dass er, wenn Sie ihn nicht angeben, in der gesamten lokalen Umgebung angezeigt wird und später Probleme verursacht.
Klicken Sie hier, um den Code des tatsächlich erfassten Teils anzuzeigen
crawler.rb
require 'nokogiri'
require 'mechanize'
agent = Mechanize.new
agent.get("https://www.photo-ac.com")
agent.post("https://www.photo-ac.com/auth/login",{
acc_type: 'cr',
email: 'Mail Adresse',
password: 'Passwort',
remember_me: '1'
})
page = agent.get("https://www.photo-ac.com/creator/list/?pl_q=&pl_order=-releasedate&pl_pp=200&pl_disp=all&pl_ntagsec=&pl_tags50over=&pl_chkpsd=")
doc = Nokogiri::HTML.parse(page.body, nil, 'utf-8')
doc.css(".photo-list").each{|div|
p div.css(".sectiondata li")[0].text
p div.css(".sectionimg .preview")[0].text
}
Wenn Sie dies ausführen
"ID:2875969"
"0"
"ID:2875964"
"0"
"ID:2875028"
"0"
"ID:2875022"
"0"
"ID:2874964"
"0"
"ID:2871884"
"0"
"ID:2871883"
"0"
"ID:2871879"
"0"
"ID:2871873"
"0"
"ID:2871870"
"0"
"ID:2837286"
"0"
"ID:2837285"
"0"
"ID:2837282"
"0"
"ID:2837281"
"0"
"ID:2837280"
"0"
"ID:2837277"
"0"
"ID:2837276"
"0"
"ID:2836745"
"0"
"ID:2836741"
"3"
"ID:2836737"
"1"
"ID:2836735"
"2"
"ID:2836730"
"1"
"ID:2836723"
"0"
"ID:2836718"
"1"
"ID:2746521"
"6"
"ID:2746517"
"11"
"ID:2746513"
"1"
"ID:2746505"
"1"
"ID:2746086"
"1"
"ID:2746084"
"4"
"ID:2746070"
"15"
"ID:2746066"
"16"
"ID:2742664"
"10"
"ID:2742530"
"17"
"ID:2742522"
"6"
"ID:2742517"
"3"
"ID:2741719"
"4"
"ID:2741715"
"16"
"ID:2741708"
"2"
"ID:2741705"
"0"
"ID:2741700"
"0"
"ID:2741699"
"0"
"ID:2741675"
"21"
"ID:2741674"
"2"
"ID:2741653"
"0"
"ID:2741629"
"1"
"ID:2741567"
"0"
"ID:2741381"
"22"
"ID:2741336"
"7"
"ID:2733068"
"14"
"ID:2733060"
"0"
"ID:2733050"
"1"
"ID:2690326"
"2"
"ID:2690291"
"7"
"ID:2690259"
"1"
Wie oben sehen Sie die ID des Bildes und die aktuelle Anzahl der Downloads. Wenn Sie dies einmal täglich in die Datenbank stellen und die Daten speichern, scheint es einfach zu sein, sie grafisch darzustellen.
Recommended Posts