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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Qt 之自定义搜索框

    Qt 之自定义搜索框简述关于搜索框,大家都经常接触。例如:浏览器搜索、Windows资源管理器搜索等。当然,这些对于Qt实现来说毫无压力,只要思路清晰,分分钟搞定。方案一:调用QLineEdit现有接口voidaddAction(QAction*action,ActionPositionposition)在QLineEdit的前/后添加部件,ActionPosition表示部件所在方位。QAction

    2022年7月13日
    20
  • tornado利用check_xsrf_cookie()防止XSRF

    tornado利用check_xsrf_cookie()防止XSRFtornado利用check_xsrf_cookie()防止XSRF

    2022年5月12日
    41
  • kafka和mq的应用场景_kafka和mq

    kafka和mq的应用场景_kafka和mqkafka为什么有高的吞吐量?快来看看吧!~~~

    2022年10月13日
    1
  • QCustomPlot配置[通俗易懂]

    QCustomPlot配置[通俗易懂]安装在https://www.qcustomplot.com/index.php/download下载压缩包。qcustomplot.h和qcustomplot.cpp即为需要使用的文件。然后自己新建一个QWidget,要么继承自QCustomPlot这个类,要么做提升。备注笔者使用环境是Windows7.编译器是VistualStudio2015(构建套件是vs2013)部分类说明QCPGraph图表通过调用QCPGraph的setData设置绘图需要的数据添加一.

    2022年8月31日
    5
  • java定时器配置_java定时器实现如何配置?「建议收藏」

    java定时器配置_java定时器实现如何配置?「建议收藏」定时器在一些时候会起到不可忽视的作用,本篇文章我们就来通过一些例子详细了解一下定时器的实现。例1:importjava.util.TimerTask;publicclassTimeTastextendsTimerTask…{//在这里写你要定时执行的方法publicvoidrun()…System.out.println(“HelloWorld!”);}}importj…

    2022年9月18日
    3
  • 初学者如何在博客园发布博客[通俗易懂]

    初学者如何在博客园发布博客[通俗易懂]我也是第一次使用博客园,碰到问题后,也是各种尝试,希望同学们也能多尝试,找到适合自己需要的。下面是我在发博客时尝试过的3种方法,特别是对表格的处理。1.如果大家使用markdown编辑器,请参考娄

    2022年7月2日
    23

发表回复

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

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