我是一个在scraperwiki.com上创建Python爬虫的开发者。我需要解析一个包含以下代码的html页面部分:
<div class="div_class">
<h3>I'm a title. Don't touch me</h3>
<ul>
<li>
I'm a title. Parse me
<ul>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
</ul>
</li>
<li>
I'm a title. Parse me
<ul>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
</ul>
</li>
<li>
I'm a title. Parse me
<ul>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
</ul>
</li>
<li>
I'm a title. Parse me
<ul>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
<li>fdfdsfd</li>
</ul>
</li>
</ul>
</div>
我想仅解析“我是标题。解析我”标题。这是我正在使用的方法:
import scraperwiki
import lxml.html
import re
import datetime
#.......................
raw_string = lxml.html.fromstring(scraperwiki.scrape(url_to_scrape))
raw_html = raw_string.cssselect("div.div_class ul > li")
for item in ras_html
print(item.text_content())
我确实可以工作。但它捕获了
- 内的所有数据。我不想要这样,我只想在每个
- 中找到"I'm a title. Parse me",就这样。
我该怎么做?
.text
(单个元素)和.text_content()
(递归)否则cssselect("div.div_class > ul > li")
也可能起作用。 - jfs>
(与问题中的表达式不同)。 - jfs