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()
可以理解为这个标签的对应值,是以字典形式返回,所以 attr() 返回键的值;例如 attr(‘alt’) 得到的是 ‘炉石传说石英元素
女巫森林新卡’
提取 scr 的值:.attr(‘lz_src’) 加一个 lz_
4.
doc = pq(html)
items = doc('#dq_list > li').items()绿色部分获取结点的方法为 Selector;还可以有其他方法

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