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

猜你喜欢

转载自www.cnblogs.com/bamboozone/p/10333779.html
今日推荐