Próbuję zrobić skrobaczkę internetową, która będzie parsować stronę internetową publikacji i wypakować autorów. Szkieletowa struktura strony internetowej jest następujący:Skrobanie w Internecie Pythona z użyciem znaczników HTML z atrybutami
<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>
Próbowałem użyć BeautifulSoup i lxml dotąd do wykonania tego zadania, ale nie jestem pewien, jak obsługiwać dwa znaczniki div i tag td, ponieważ mają atrybuty. Poza tym nie jestem pewien, czy powinienem polegać bardziej na BeautifulSoup lub lxml, czy na kombinacji obu. Co powinienem zrobić?
Obecnie mój kod wygląda to, co jest poniżej:
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)
Zdaję sobie sprawę, że wiele sprawozdań na przywóz mogą być zbędne, ale po prostu skopiowane cokolwiek obecnie miał bardziej pliku źródłowego.
EDYCJA: Przypuszczam, że nie wyjaśniłem tego wyraźnie, ale mam wiele tagów na stronie, które chcę skrobać.
Dzięki, Alex. Mam wielu autorów na stronie, więc będę mieć wiele tagów td. Jak iterować po każdym z nich? – GobiasKoffi