我正在尝试从具有嵌套内容的HTML标记中提取文本内容。我从另一个相关的问题中拿出了这个例子,这个问题可以看到。
>>> from parsel import Selector
>>> sel = Selector(text='''
<p>
Senator <a href="/people/senator_whats_their_name">What's-their-name</a> is <em>furious</em>
在提取span标记之后,我尝试提取href链接(如下所示)。但是,它引发了以下错误:
追溯(最近一次调用):文件“C:/Users/ not 981/Desktop/work.py”,第34行,打印(element.find(‘a’)‘href’) TypeError:'NoneType‘对象不可订阅
我使用以下代码:
result2 = soup.find_all('span', {'style': 'white-space: nowrap'}) for element in result2: print(element)
我在p标记中有一些文本,其中可能包含像em这样的附加标记。当我将以下文本传递给parsel XPath选择器并请求第一个p标记时,它会返回部分字符串。 from parsel import Selector
selector = Selector(text="<div><p>Hel<em>l</em>o</p><p>World!</p></div>")
for p in selector.xpath('(//div//p//extract())[1]'
在显示的页面上突出显示当前选定的链接时遇到问题。我只使用HTML5和CSS。我发现,当我将每个html文档中的id更改为"currentLink“时,它是有效的,但只需使用传统的类/id,如下所示:
#y.x {
/* will select element of id="y" that also has class="x" */
}
但是,为了使整个链接元素可点击,我使用了"nav",这似乎与上面的解决方案不兼容。
这是我的索引页面HTML:
<nav>
<div id=&
我想知道为什么这个">“选择器在下面的例子中不起作用
nav > ul > li > ul > li > a{
color: red;
}
但在这种情况下确实有效
nav > ul > li > ul > li > a.item{
color: red;
}
.a是li的直接后代,为什么我必须指定类名。难道它不应该得到李氏的孩子吗?哪一个是.a
我刚刚意识到,如果我只提供上面的信息,但是如果我在上面的代码之前加入了css的其余部分,那么仅仅放置.a就不起作用