from pyquery import PyQuery as pq「建议收藏」

from pyquery import PyQuery as pq「建议收藏」了解更多关注微信公众号“木下学Python”吧~1.爬取知乎-发现-热门话题的问答:importrequestsfrompyqueryimportPyQueryaspqurl=’https://www.zhihu.com/explore’headers={‘user-agent’:’Mozilla/5.0(WindowsNT10.0;WOW64)…

大家好,又见面了,我是你们的朋友全栈君。

了解更多关注微信公众号“木下学Python”吧~

 

1.爬取知乎-发现-热门话题的问答:

import requests
from pyquery import PyQuery as pq

url = 'https://www.zhihu.com/explore'
headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKi\
            t/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36'}

html = requests.get(url,headers = headers).text

doc = pq(html) #初始化PyQuery类对象
items = doc('.explore-tab .feed-item').items() #抓取 .explore-tab 结点下的所有 .feed-item 子节点 .items() 把他们组成列表
for item in items:
    question = item.find('h2').text() #抓问题,不为 .h2 理由是 h2 是标签,不是属性
    author = item.find('.author-link-line').text() #抓作者
    answer = pq(item.find('.content').html()).text() #抓取一条回答,列表里面返回的是标签名称,.html()还原成 html 代码
    file = open('explore.txt','a',encoding='utf-8')
    file.write('\n'.join([question,author,answer]))
    file.write('\n' + '=' * 50 + '\n')
    file.close()

 

2..find()

查找子孙结点

 

3.,attr()

<img alt=”炉石传说石英元素 女巫森林新卡” src=”http://newsimg.5054399.com/uploads/litimg/180410/1606441M5F5.jpg”>

可以理解为这个标签的对应值,是以字典形式返回,所以 attr() 返回键的值;例如 attr(‘alt’) 得到的是 ‘炉石传说石英元素 

女巫森林新卡’

提取 scr 的值:.attr(‘lz_src’) 加一个 lz_

 

4.

doc = pq(html)
items = doc('#dq_list > li').items()

绿色部分获取结点的方法为 Selector;还可以有其他方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139612.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月7日 下午4:40
下一篇 2022年5月7日 下午5:00


相关推荐

  • linux基本命令_Git常用命令

    linux基本命令_Git常用命令用一个记一个。修改文件权限:chmod777文件名文件夹及其子文件:chmod-R777文件夹

    2022年10月3日
    6
  • Mysql学习——MySQL导入导出.sql文件及常用命令

    Mysql学习——MySQL导入导出.sql文件及常用命令在日常学习和工作,难免不了使用Mysql数据库,有时候需要导入导出数据库,或者其中的数据表。下面是我自己整理的一些东西!

    2022年2月24日
    35
  • ubuntu更新源

    ubuntu更新源1.备份原始源文件source.list打开终端,输入:sudocp/etc/apt/sources.list/etc/apt/sources.list.bak2.修改源文件1.继续输入:

    2022年7月4日
    22
  • phpstorm2021最新激活码[在线序列号]

    phpstorm2021最新激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    64
  • Linux proc目录详解

    Linux proc目录详解目录 1 什么是 proc2 proc 目录介绍 2 1 proc cpuinifoCPU 的信息 型号 家族 缓存大小等 2 2 proc meminfo 物理内存 交换空间 2 3 proc mounts 已加载的文件系统的列表 2 4 proc devices 可用设备的列表 2 5 proc filesystems 被支持的文件系统 2 6 proc modules 已加载的模块 2 7 proc virsion 内核版本 2 8 proc cmdl

    2026年3月19日
    2
  • 动态规划0—1背包问题

    动态规划0—1背包问题动态规划0-1背包问题Ø  问题描述:  给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?Ø 对于一种物品,要么装入背包,要么不装。所以对于一种物品的装入状态可以取0和1.我们设物品i的装入状态为xi,xi∈(0,1),此问题称为0-11背包问题。

    2022年7月26日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号