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;还可以有其他方法

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Tree命令的下载与使用「建议收藏」

    Tree命令的下载与使用「建议收藏」**Tree命令的下载与使用**前言作为一名Linux小白,今天第一次发博客,决定把我今天下载Linux中tree命令的过程记录下来,先来讲一讲我是怎么碰见tree这个命令的吧,今日看书时,无意中翻到tree这个命令得知这个命令可以以树状图列出目录结构,于是我便创建了一个名为aaa的文件夹和一个叫123的文件,并且复制了123文件(123复件),将123文件和123复件移进aaa文件夹,在…

  • c语言 xml解析库,轻量级C语言实现的minixml解析库入门教程

    c语言 xml解析库,轻量级C语言实现的minixml解析库入门教程svn上的minixml源码下载。svncohttp://svn.msweet.org/mxml/tags/release-2.7/按照下载回来的源代码进行编译和安装。本教程只针对新手做一个引导,大神见笑了,可以直接绕道。愿这个教程给你带来帮助。即:./configuremakemakeinstall随后就可以开始使用非常简洁的并可以跨很多平台的minixml更换平台只需要将xml库使用不同…

  • spark 入门_新手入门

    spark 入门_新手入门一Spark概述 111什么是Spark 2Spark特点 3Spark的用户和用途 二Spark集群安装 1集群角色 2机器准备 3下载Spark安装包 4配置SparkStandalone 5配置JobHistoryServerStandalone 6配置SparkHAStandalone 7配置SparkYarn …

    2022年10月24日
  • 使用DbUtils实现CRUD

    使用DbUtils实现CRUD

  • 手机chrome禁止加载图片_com组件未加载或被禁止

    手机chrome禁止加载图片_com组件未加载或被禁止splash禁止图片加载

    2022年10月31日
  • Oracle Sequence创建与使用[通俗易懂]

    Oracle Sequence创建与使用[通俗易懂]原文地址:https://blog.csdn.net/Karloo/article/details/51423340(记录学习)1.创建sequence语句:CREATESEQUENCEseq_name–seq_name为计数器的名字,自定;INCREMENTBY1–每次加幅度:1,2,3,….;STARTWITH1–起始序号,以实际生产情况而定;NOM…

    2022年10月19日

发表回复

您的电子邮箱地址不会被公开。

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