Ich denke über die Verwendung von Scrapy nach, habe aber zuerst versucht, Webinformationen mit "Requests" und "lxml" abzurufen. Der erste Schritt beim Web Scraping mit Python.
pip install requests
pip install lxml
Ich habe es auf EC2 gestellt und über das Internet getestet.
test.html
<html>
<body>
<div id="test1">test1
<ul id="test1_ul">test1 ul</ul>
</div>
</body>
</html>
(Fehlerbehandlung, wenn kein Argument usw. vorhanden ist, ist nicht implementiert)
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'}
#Geben Sie die URL als Argument an
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)
Der Ausführungsbefehl lautet wie folgt. Die URL des Arguments ist beliebig.
python scraping.py http://ec2******
Mit den Entwicklertools von Chrome können Sie problemlos XPath- und CSS-Selektoren abrufen.
Recommended Posts