0

我正在尝试从该网站http://sana.sy/eng/21/2013/01/07/pr-460536.htm抓取文章文本,但其 HTML 格式错误。谁能告诉我如何正确处理。

this is the code
import urllib2
from lxml import etree
import StringIO

speachesurls = ["http://sana.sy/eng/21/2013/01/07/pr-460536.htm", "http://sana.sy/eng/21/2012/06/04/pr-423234.htm", "http://sana.sy/eng/21/2012/01/12/pr-393338.htm"]


# scrape the speaches

for url in speachesurls:
    result = urllib2.urlopen(url)
    html = result.read()
    parser = etree.HTMLParser()
    tree = etree.parse(StringIO.StringIO(html), parser)
    xpath = "//html/body/table[3]/tbody/tr[3]/td[4]/table[2]/tbody/tr/td[2]/table/tbody/tr/td/table/tbody/tr[2]/td/div/table/tbody/tr[2]/td/div/p"
    a = tree.find(xpath)
    print a.text_content() 
4

1 回答 1

1

这不是 lxml 或格式错误的 html 的问题,lxml 的 html 解析器可以处理。

您的代码工作正常,只是您的 xpath 表达式不匹配任何内容,a因此None.

于 2013-04-21T19:01:10.187 回答