Web scraping-> Collecte de données HTML pour un site Web afin d'extraire et de formater des données spécifiques.
Cette fois, je présenterai l'une des méthodes de Python et Ruby respectivement.
Python: BeautifulSoup4
Beautiful Soup est assez pratique en Python.
pip install beautifulsoup4
import urllib2
from bs4 import BeautifulSoup
html = urllib2.urlopen("http://example.com")
# =>Bien sûr, vous pouvez également lire des fichiers.
soup = BeautifulSoup(html)
#Beaucoup de méthodes utiles!
soup.find_all('td')
soup.find("head").find("title")
soup.find_parents()
soup.find_parent()
soup.descendants()
#Il semble que vous puissiez renommer les balises, changer les valeurs d'attribut, les ajouter et les supprimer!
tag = soup.a
tag.string = "New link text."
tag
# => <a href="">New link text.</a>
soup = BeautifulSoup("<a>Foo</a>")
soup.a.append("Bar")
# => <a href="">FooBar</a>
Je n'ai jamais utilisé Python, mais c'était très amusant à utiliser.
Ruby: nokogiri
gem install nokogiri
source 'https://rubygems.org'
gem 'nokogiri'
bundle
charset = nil
html = open("http://example.com") do |f|
charset = f.charset
f.read
end
doc = Nokogiri::HTML.parse(html, nil, charset)
doc.title
doc.xpath('//h2 | //h3').each do |link|
puts link.content
end
html = File.open('data.html', encoding: 'utf-8') { |file| file.read }
doc = Nokogiri::HTML.parse(html, nil) do |d|
d.xpath('//td').each do |td|
pp td.content
end
end
Personnellement, j'aimais Ruby après tout.
Grattage avec Python et Beautiful Soup-Qiita http://qiita.com/itkr/items/513318a9b5b92bd56185 kondou.com --Beautiful Soup 4.2.0 Doc. traduction japonaise (2013-11-19 dernière mise à jour) http://kondou.com/BS4/# Ruby grattage avec Nokogiri [Tutoriel pour les débutants] --Sake, 泪, Ruby, Rails http://morizyun.github.io/blog/ruby-nokogiri-scraping-tutorial/
Recommended Posts