Nachdem Sie gelernt haben, wie man Scraping implementiert, schreibe ich es als Lernausgabe.
Was kratzt nach dem Lesen dieses Artikels? Was soll ich tun, um es zu implementieren? Ich kann verstehen.
Was ist Schaben? Informationen von einer Website lernen und verarbeiten, um neue Informationen zu generieren. Besuchen Sie beispielsweise verschiedene Restaurants und erstellen Sie eine Preisliste.
Ich möchte mehr Details wissen! Wenn Sie das glauben, suchen Sie bitte bei Google.
Jetzt werde ich schreiben, wie man Scraping implementiert.
1 Installieren Sie die gemfile "mechanize"
gem 'mechanize'
Geben Sie dann bundle install in das Terminal ein
2 Erstellen Sie eine Instanz der Mechanize-Klasse
agent = Mechanize.new #Erstellen Sie eine Instanz der Mechanize-Klasse und weisen Sie sie dem Variablenagenten zu
3 Holen Sie sich HTML-Informationen zur Website Verwenden Sie die Instanzmethode "get" der Mechanize-Klasse, um den HTML-Code der Website abzurufen, die Sie durchsuchen möchten.
page = agent.get("https://www.google.com/?hl=ja")
4 Verwenden Sie die Suchmethode, um nach HTML-Elementen zu suchen Die Suchmethode wird für das Objekt verwendet, das die von der get-Methode erhaltenen Seiteninformationen enthält. Dies ermöglicht es, den Inhalt des angegebenen HTML-Elements anhand der erfassten HTML-Informationen der Website zu durchsuchen. Selbst wenn nur ein entsprechendes HTML-Tag-Element vorhanden ist, wird der Rückgabewert in Form eines Arrays zurückgegeben.
agent = Mechanize.new
page = agent.get("https://www.google.com/?hl=ja")
elements = page.search('h1')
↑ Die Informationen des h1-Elements in https://www.google.com/?hl=ja werden erfasst.
5 inner_text Methode Wenn Sie den Text der von der Suchmethode erhaltenen HTML-Informationen abrufen möchten, verwenden Sie die Methode inner_text.
agent = Mechanize.new
page = agent.get("URL der Website, die Sie kratzen möchten")
elements = page.search('h2 a') #Suchen Sie unter h2 element nach einem Element
elements.each do |ele|
puts ele.inner_text
end
6 Methode get_attribute Wenn Sie den Wert eines HTML-Attributs abrufen möchten, verwenden Sie die Methode get_attribute. Beispielsweise hat der HTML-Code eines a-Tag-Elements ein Attribut "href", dessen Wert die URL des Linkziels ist. Sie können den Wert des durch das Argument angegebenen Attributs ermitteln, indem Sie get_attribute (Attribut) schreiben.
agent = Mechanize.new
page = agent.get("URL der Website, die Sie kratzen möchten")
elements = page.search('h2 a') #Suchen Sie unter h2 element nach einem Element
elements.each do |ele|
puts ele.get_attribute('href') # puts ele[:href]Vielleicht
end
● Erstellen Sie eine Instanz der Mechanize-Klasse ● Rufen Sie die HTML-Informationen der Website mit der Instanzmethode .get (URL der Website, für die Sie Informationen abrufen möchten) der Mechanize-Klasse ab. ● Lernen Sie, indem Sie das Tag-Element mit den gewünschten Daten mit der Suchmethode angeben ● Verwenden Sie die Methoden inner_text und get_attribute, um die gewünschten Informationen für die HTML-Informationen des erfassten Tag-Elements zu erhalten.
Recommended Posts