jquery获取图片-【编程课堂】以jQuery-PyQuery之名,一款爬虫神器

根据id位置找到这个li标签,代码如下:

# 定位 id = note-11772642 的 li 标签
pq_id = pq('#note-11772642')

上述代码获取id名为note-11772642的标签。 需要注意的是,查询id时添加#前缀,是css选择器句型。

按类别定位:

和昨天一样

jquery获取图片_获取图片素材的途径有哪些_获取图片的像素点的坐标

我们根据class=have-img获取li标签

# 定位 class = have-img 的 li 标签
pq_class = pq('.have-img')

请注意,. 查询class时添加前缀,这也是一种css选择器句型。

2.3 索引选项卡

上一节的最后有一个小问题。 我们知道html中只有一个head标签,可能有多个类名为have-img的li标签。 我们应该

如何遍历所有li标签? 如何单独取某个里?

首先我们可以一条一条的遍历

jquery获取图片_获取图片的像素点的坐标_获取图片素材的途径有哪些

# 遍历所有 class = have-img 的 li 标签
for li in pq_class:    
   # 获取每一个 li 标签    pq_li = pq(li)

我们可以索引某个li标签

使用 .ep(index) 函数。

# 获取第一个 li 标签
li_first = pq_class.ep(0)
# 获取第二个 li 标签
li_second = pq_class.ep(1)

2.4 查找标签

回到刚才的图片

jquery获取图片_获取图片素材的途径有哪些_获取图片的像素点的坐标

在上一步中,我们已经找到了所有的li标签,并且知道了如何对其中的元素进行索引,但是现在我们需要精确定位到某个元素jquery获取图片,比如上图中id=note-11772642的li标签。

这时候filter(选择器)就派上用场了

li_spec = pq_class.filter('#note-11772642')

这样,我们就找到了指定的li标签。 需要注意的是,过滤功能只能在同级标签中找到。 比如这里只能过滤li标签,但是无法定位li标签下的a标签和div标签。

当然,针对这些情况,pyquery为我们提供了另一个函数find(selector),用于查找子节点。 继续上图为例,找到特定li标签下的p标签

p_tag = li_spec.find('p')

2.5 提取属性和值

上面我们讲了很多关于标签的内容,现在我们来谈谈如何获取标签中的属性以及标签包裹的文本。 在实际的爬虫项目中,这通常是最重要的一步,比如从某个标签获取链接,从li标签或p标签获取文本。

获取属性:

使用attr()函数,以我们前面获取到的li标签为例,获取其中的id属性

# 获取 id 属性的方法
li_spec_id = li_spec.attr('id') li_spec_id_2 = li_spec.attr.id li_spec_id_3 = li_spec.attr['id']

获取文本:

使用text()函数,以我们之前得到的p标签为例,获取其中的文本。

string = p_tag.text()

获取图片素材的途径有哪些_jquery获取图片_获取图片的像素点的坐标

到目前为止,这就是爬虫中将要使用的函数。

三、总结

pyquery 还具有操作文档树的能力。 本文主要介绍爬虫相关的知识,这里就不详细介绍了。 有兴趣的朋友移步官方文档:

最后,由于我们已经分析了简书首页,请您根据所学爬取简书首页上的所有文章标题和文章链接,然后复制,如右图

在公众号(Crossin的编程课堂)回复pyquery即可获取本文完整示例代码。

“Action on Code”在线学习班现已开放jquery获取图片,详情请回复Action on Code