Ich versuche, einen Web-Scraper, der eine Web-Seite von Publikationen analysieren und extrahieren die Autoren zu machen. Die Skelett-Struktur der Web-Seite ist die folgende:Python Web Scraping mit HTML-Tags mit Attributen
<html>
<body>
<div id="container">
<div id="contents">
<table>
<tbody>
<tr>
<td class="author">####I want whatever is located here ###</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
Ich habe versucht, weit so BeautifulSoup und lxml zu verwenden, um diese Aufgabe zu erfüllen, aber ich bin nicht sicher, wie die beiden div-Tags zu handhaben und td-Tag, weil sie Attribute haben. Außerdem bin ich mir nicht sicher, ob ich mich mehr auf BeautifulSoup oder lxml oder eine Kombination von beiden verlassen sollte. Was soll ich machen?
Im Moment sieht mein Code wie das, was unten ist:
import re
import urllib2,sys
import lxml
from lxml import etree
from lxml.html.soupparser import fromstring
from lxml.etree import tostring
from lxml.cssselect import CSSSelector
from BeautifulSoup import BeautifulSoup, NavigableString
address='http://www.example.com/'
html = urllib2.urlopen(address).read()
soup = BeautifulSoup(html)
html=soup.prettify()
html=html.replace(' ', ' ')
html=html.replace('í','í')
root=fromstring(html)
Ich weiß, dass viele der Import-Anweisungen überflüssig sein können, aber ich nur kopiert, was ich zur Zeit in mehr Quelldatei hatte.
EDIT: Ich nehme an, dass ich dies nicht ganz klar gemacht habe, aber ich habe mehrere Tags in der Seite, die ich kratzen möchte.
Danke, Alex. Ich habe mehrere Autoren auf der Seite, also werde ich mehrere td-Tags haben. Wie iteriere ich über jeden von ihnen? – GobiasKoffi