Ich werde ein Webcrawling der Artikel von dieser Website machen.Xpath zum Extrahieren von Artikeltext von der Webseite
Dies ist, was ich bisher getan haben:
# HR Version
# the entire crawling process
openfile = open("data/HR.csv", "rb")
r = csv.reader(openfile)
HR_data = []
for i in r:
url = i[0]
print url # to know the status of web crawling
r = requests.get(url)
data = html.fromstring(r.text)
#Inspect line with text
#//*[@id="article-details"]
#<section class="entry-content clearfix" itemprop="articleBody"></section>
texts = data.xpath("//*[@id="article-details"]/p/text()")
raw = ''.join(str(i.encode("utf-8")) for i in texts)
finaldata = raw.replace('\r','').replace('\n','').replace('\r','').replace('\t','')
HR_data.append([finaldata])
openfile.close()
Der Befehl in Frage wird die folgende
texts = data.xpath("//*[@id="article-details"]/p/text()")
Und es ist aus diesem speziellen Webseite: http://hrmagazine.co.uk/article-details/internal-entrepreneurship-can-boost-your-business
Inspect Element verwenden auf Firefox, ich fand den "Text" innerhalb dieses folgenden Segments, das im folgenden Abschnitt enthalten ist:
<article id="article-details">
#One <h2> element, followed by multiple <p> elements.
</article>
Was ist der richtige XPath, um nur den Absatztext aus dem Artikel zu extrahieren?