从xpath列表中删除元素时遇到问题。
我是Python和HTML抓取的新手,所以请忍受我:)
我读过nodes.getparent().remove(nodes)
应该删除一个元素,但我甚至不能编译它。
因此,我似乎没有获得需要删除的元素类型。
我可以毫无问题地调用nodes.getparent()
,但不能删除。在
Error:
"TypeError: Argument 'element' has incorrect type (expected lxml.etree._Element, got lxml.etree._ElementUnicodeResult)"
谨致问候
杰斯珀
from lxml import html
import requests
headers = {'User-Agent': 'Fiddler', 'Host': 'bilmodel.dk'}
page = requests.get('https://bilmodel.dk/Sitemap/Biler', headers=headers)
tree = html.fromstring(page.content)
#This will create a list of car brands
CarBrands = tree.xpath('//*[@id="content"]/ul[1]//text()')
for nodes in CarBrands:
if nodes.find('\r\n\t\t\t\t') == 0:
print('Found it')
nodes.getparent().remove(nodes)
# Press Enter to exit window
#CarBrand = input('Write car brand:')
print(CarBrands)
要删除的元素是“特殊文本节点”,而不是删除,而是通过分配一个空白
''
来清除它。在例如:
用Python:3.4.2测试
相关问题 更多 >
编程相关推荐