我正在使用PyQuery,并希望打印一个链接列表,但是不知道如何从PyQuery语法中的每个链接获取href属性。
这是我的代码:
e = pq(url=results_url)
links = e('li.moredetails a')
print len(links)
for link in links:
print link.attr('href')这将打印10,然后显示以下错误:
AttributeError: 'HtmlElement' object has no attribute 'attr'我做错了什么?
发布于 2012-12-28 21:32:35
PyQuery包装了lxml,因此您可以使用ElementTree API来访问属性:
e = pq(url=results_url)
for link in e('li.moredetails a'):
print link.attrib['href']或者,要在找到的任何元素上使用DOM API,请将该元素包装在pq()调用中,这与您需要使用jQuery $()或jQuery()包装DOM元素的方式相同:
print pq(link).attr('href')或
print pq(link).attr['href']以获取更具pythonic风格的访问属性的方法。
您还可以循环遍历返回PyQuery元素的.items()方法:
e = pq(url=results_url)
for link in e('li.moredetails a').items():
print link.attr['href']发布于 2012-12-28 21:27:19
与在jQuery中一样,将该链接包装起来:
e = pq(url=results_url)
links = e('li.moredetails a')
print len(links)
for link in links:
print pq(link).attr('href')https://stackoverflow.com/questions/14070197
复制相似问题