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


相关推荐

  • 8种HOOK技术[通俗易懂]

    8种HOOK技术[通俗易懂]1.IAT_HOOKIAT是程序中存储导入函数地址的数据结构,如果HOOK了导入函数地址。就可以在函数调用的时候,将函数流程HOOK到我们指定的流程。但是我个人觉得这种方式最好要结合DLL注入的方式,如果单纯的使用HOOK,那么就需要将需要执行的操作的shellcode写入目标进程,如果操作复杂,可能需要的shellcode量特别大,所以我们需要借助DLL注入,这样就将我们需要执行的代码写入…

    2022年5月26日
    33
  • 怎么用matlab画心形曲线方程,matlab画心形曲线「建议收藏」

    怎么用matlab画心形曲线方程,matlab画心形曲线「建议收藏」Matlab绘制三维动态心形It’sOKtosendapicto…Matlab绘制三维动态心形It’sOKtosendapicto…(x,y1,’-r’,x,y2,’-.k’,’linewidth’,2)8、绘制心形图r=2(1-cosθ)的极坐标图形>>theta=[0:0.01:2*pi];>>polar(theta,…

    2022年10月16日
    0
  • vscode中svn使用详解_iis配置步骤

    vscode中svn使用详解_iis配置步骤XcodeSVN配置方法    Mac自带svn,所以我们就不需要下载了,稍稍修改一下subversion配置就能使用。大大教了两种方法:第一步,配置Subversion  Leopard中自带了SVN,但Xcode的项目文件中,并不是所有文件都适于加入SVN中进行管理,比如编译后的文件和编译过程中产生的文件,这些文件不属于源代码,应该告诉svn忽略掉,方法:  编辑~/.subversi

    2022年9月13日
    0
  • URAL 1018 Binary Apple Tree

    URAL 1018 Binary Apple Tree

    2021年8月18日
    88
  • linux安装svn服务器_linux安装svn客户端

    linux安装svn服务器_linux安装svn客户端1.https://tortoisesvn.net/downloads.html网站下载2.安装的时候如果出现下图的报错打开这个网站https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=49062,会自动帮你下载下载完成后安装即可3.没有特殊需求则默认安装4.出现这个则安装成功MySQL安装…

    2022年8月18日
    6
  • Java使文本框失去焦点的方法,使文本框text1获得焦点,js使文本框失去焦点

    Java使文本框失去焦点的方法,使文本框text1获得焦点,js使文本框失去焦点本文实例讲述了JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法。分享给大家供大家参考。具体如下:  html代码:  ?12345678…

    2022年6月20日
    24

发表回复

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

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