【问题标题】:What wrong in 'print_element' method ?'print_element' 方法有什么问题?
【发布时间】:2017-06-27 11:19:08
【问题描述】:
print("<&s &s>" &(element.tag,element.attrib))

AttributeError: 'list' 对象没有属性 'tag'

from lxml import html
import requests

def print_element(element):
    print("<&s &s>" &(element.tag,element.attrib))

r = requests.get("https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_and_their_capitals_in_native_languages")

tree = html.fromstring(r.content)
s = tree.xpath('//table')
print_element(s)

任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: python web-scraping lxml


    【解决方案1】:

    你得到的 s 是一个列表,所以你应该使用列表中的项目。也许您应该将 '&' 更改为 '%'。

    from lxml import html
    import requests
    
    def print_element(element):
        print("<%s %s>" %(element.tag,element.attrib))
    
    r = requests.get("https://en.wikipedia.org/wiki/List_of_countries_and_dependencies_and_their_capitals_in_native_languages")
    
    tree = html.fromstring(r.content)
    s = tree.xpath('//table')
    print type(s)   # you will see this s is a list
    for item in s:
        print_element(item)
    

    【讨论】:

      【解决方案2】:

      您的element 似乎是“元素”列表,而不是单个元素。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多