Je pense utiliser Scrapy, mais j'ai d'abord essayé d'obtenir des informations Web avec "Requests" et "lxml". La première étape du scraping Web avec Python.
pip install requests
pip install lxml
Je l'ai placé sur EC2 et l'ai testé via Internet.
test.html
<html>
<body>
<div id="test1">test1
<ul id="test1_ul">test1 ul</ul>
</div>
</body>
</html>
--Si vous passez une URL comme argument, procédez à partir de ce HTML --User-Agent est devenu Mac juste au cas où
(La gestion des erreurs lorsqu'il n'y a pas d'argument, etc. n'est pas implémentée)
scraping.py
import sys
import requests
import lxml.html
#set dummy user-agent
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8'}
#Spécifiez l'URL comme argument
url = ''
if len(sys.argv) > 1:
url = sys.argv[1]
response = requests.get(url, headers = headers)
html = lxml.html.fromstring(response.content)
for div in html.xpath('//*[@id="test1_ul"]') :
print(div.text)
La commande d'exécution est la suivante. L'URL de l'argument est arbitraire.
python scraping.py http://ec2******
Il est pratique de pouvoir obtenir facilement des sélecteurs XPath et CSS avec les outils de développement de Chrome.
Recommended Posts