zoukankan      html  css  js  c++  java
  • Pycharm学习python路

    • import 模块之后是灰色的表明没有被引用过
    • lxml找不到的话用anaconda prompt :pip uninstall lxml 重新安装
    • 用request时,写的reg无法正确解析网页,先print然后再写reg
    •  pyquery 的attr()获取不到值,因为只获取第一个值,具体参照https://www.cnblogs.com/airnew/p/10056551.html

    访问节点属性:
    使用attr()方法访问节点的属性:

    from pyquery import PyQuery as pq
    li = pq('<li id="test1" class="test1"></li><li id="test2" class="test2"></li>')('li')
    print(li.attr("id"))

    运行结果:

    test1

    上面的代码中有两个id不同的li节点,但是attr()方法只取第一个li节点的id属性值,而不取第二个,我们把上面的代码修改下,把第一个li节点的id属性去掉,attr方法是否只取第一个复合条件节点的属性值:

    from pyquery import PyQuery as pq
    li = pq('<li class="test1"></li><li id="test2" class="test2"></li>')('li')
    print(li.attr("id"))

    运行结果:

    None

    第一个li节点没有id属性,因此返回结果为None,所以可见,attr()方法返回的是第一个节点的属性值。

    那要取多个li节点的属性值,要怎么做呢?这就要结合items()方法来实现。items()方法是返回的节点的生成器generator object PyQuery.items

    from pyquery import PyQuery as pq
    li = pq('<li id="test1" class="test1"></li><li id="test2" class="test2"></li>')('li')
    print(li.items())
    for item in li.items():
        print(item.attr("id"))

    运行结果:

    <generator object PyQuery.items at 0x0000027F26082728>
    test1
    test2
    • https://scrapingclub.com/ 用scrapy解决10道题
    -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- focus on what you want to be
  • 相关阅读:
    git fetch 和git pull 的差别
    解决npm install安装慢的问题
    Git本地分支和远程分支关联
    phalapi 2.14 使用(一)增加顶级命名空间、调整返回结构字段
    vue-element-template实战(五) 获取后端路由表动态生成权限
    vue-element-template实战(四)使用mock数据,新增用户管理界面
    使用phalapi 2.14版本的问题及解决办法
    关于vue
    git详细操作
    三次握手四次挥手理解
  • 原文地址:https://www.cnblogs.com/bamboozone/p/10333779.html
Copyright © 2011-2022 走看看