东林男神 2023-03-30 22:33 采纳率: 0%
浏览 20

爬虫pyquery的使用有问题

pyquery是2.0.0版本,求解惑,为什么我这个pyquery选择器会把标签a之后的内容也选择出来,after方法也无法使用

img

img

img

  • 写回答

1条回答 默认 最新

  • loser646 2023-03-31 13:14
    关注

    该回答引用ChatGPT
    PyQuery的版本2.0.0是比较老的版本,可能存在一些bug或者不兼容性的问题。在PyQuery 2.0.0中,似乎确实存在after方法无法使用的问题。另外,如果您的选择器会将标签a之后的内容也选择出来,可能是因为您的选择器没有正确指定要选择的元素。

    您可以尝试更新PyQuery版本,或者使用其他方法来解决问题。例如,您可以使用CSS选择器来指定要选择的元素,如下所示:
    from pyquery import PyQuery as pq

    html = """

    Link

    Paragraph

    """

    doc = pq(html)
    a = doc(".content a") # 选择class为content下的a标签
    print(a.text()) # 输出Link
    在这个例子中,我们使用了CSS选择器.content a来选择class为content的div中的a标签。这样可以确保只选择我们需要的元素。

    另外,您也可以使用PyQuery的siblings方法来选择兄弟元素,如下所示:

    from pyquery import PyQuery as pq

    html = """

    Link

    Paragraph

    """

    doc = pq(html)
    a = doc(".content a") # 选择class为content下的a标签
    p = a.siblings("p") # 选择a标签的兄弟元素p标签
    print(p.text()) # 输出Paragraph
    在这个例子中,我们首先选择了class为content的div中的a标签,然后使用siblings方法选择了a标签的兄弟元素p标签。这样也可以确保只选择我们需要的元素。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月30日