lxml.html
을 사용하고 아래 코드를 XPath
대신 CSSSelector
을 사용하여 아래 코드를 구문 분석하려고합니다.Python : lxml.cssselect에서 사용할 CSS 선택자
link = doc.cssselect('html body div.results dl dt a)
위의 코드는 출력으로 나에게 content-1
및 content-2
을주고있다하지만 내 원하는 출력은 link 1 link 2
입니다. 따라서 코드를
link = doc.cssselect('html body div.results dl dt a[href]')
으로 바꿨지 만 여전히 동일한 출력을 얻고 있습니다. 그래서 내 질문은 href 속성을 얻을 수있는 적절한 CSS 선택기입니다.
<div class = "results">
<div> some tags here </div>
<dl>
<dt title = "My Title 1" style = "background: transparent url('/img/accept.png') no-repeat right center">
<a href = "/link 1"> content-1</a>
</dt>
</dl>
<dl>
<dt title = "My Title 2" style = "background: transparent url('/img/accept.png') no-repeat right center">
<a href = "/link 2">content-2</a>
</dt>
</dl>
</div>
나는 혼자 그것을 알아 냈다.어쨌든 대답을 주셔서 감사합니다 – RanRag
@brandizzi, 당신 말이 맞아요 - 당신은 CSS가 아니라 속성을 선택할 수 있습니다 - 괄호는 어떤 요소를 필터링 할 수 있습니다 (하지만 나쁜 생각이 아니라면 href 속성없이 태그를 선택하십시오 어떤 [a href]가 무엇입니까?) –
@RanRag, 결국 필요하지 않은 경우에도 brandizzi의 대답을 올바른 것으로 표시해야합니다. –