Разбор блока текста с использованием Python - PullRequest
0 голосов
/ 14 мая 2011

Я пишу скрипт, который будет анализировать веб-страницу и вставлять результаты в MySQL.

Вот пример возвращенного содержимого HTML, которое мне нужно проанализировать:

<TH ALIGN=center COLSPAN=6 BGCOLOR="#C0C0C0"><FONT SIZE="-1">Monthly Totals</FONT></TH>    </TR>
<TR><TH ALIGN=center BGCOLOR="#00805c"><FONT SIZE="-1">Hits</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff"><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff"><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#ffff00"><FONT SIZE="-1">Visits</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff8000"><FONT SIZE="-1">Sites</FONT></TH>
<TH ALIGN=center BGCOLOR="#ff0000"><FONT SIZE="-1">KBytes</FONT></TH>
<TH ALIGN=center BGCOLOR="#ffff00"><FONT SIZE="-1">Visits</FONT></TH>
<TH ALIGN=center BGCOLOR="#00e0ff"><FONT SIZE="-1">Pages</FONT></TH>
<TH ALIGN=center BGCOLOR="#0040ff"><FONT SIZE="-1">Files</FONT></TH>
<TH ALIGN=center BGCOLOR="#00805c"><FONT SIZE="-1">Hits</FONT></TH></TR>
<TR><TH HEIGHT=4></TH></TR>
<TR><TD NOWRAP><A HREF="usage_201105.html"><FONT SIZE="-1">May 2011</FONT></A></TD>
<TD ALIGN=right><FONT SIZE="-1">2529721</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">582503</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">490365</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">23301</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">17720</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">145942234</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">279618</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">5884390</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">6990042</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">30356654</FONT></TD></TR>
<TR><TD NOWRAP><A HREF="usage_201104.html"><FONT SIZE="-1">Apr 2011</FONT></A></TD>
<TD ALIGN=right><FONT SIZE="-1">2246629</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">517645</FONT></TD>
<TD ALIGN=right><FONT SIZE="-1">483787</FONT></TD>

Как мне адаптировать следующее, чтобы отслеживать возврат каретки и так далее:

stats = re.findall ("Apr(.*)",content) 

Ответы [ 2 ]

6 голосов
/ 14 мая 2011

Используйте BeautifulSoup , , а не регулярные выражения для анализа HTML (ср. этот знаменитый ответ )

1 голос
/ 14 мая 2011

Используйте lxml , , а не регулярные выражения для анализа HTML - как сказал Уилл, но с другим предпочтительным инструментом.По моему опыту, lxml значительно мощнее и надежнее, чем BeautifulSoup.

...