Xpath实战一:解析爬取糗事百科段子

本文分享了一个使用Python爬取糗事百科网站内容的具体案例。通过requests库获取网页,lxml解析HTML,提取作者、段子内容、点赞数及评论数等关键信息,并实现了翻页功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#coding=utf-8
import requests
from lxml import etree

def getHtml(url):  
    page = requests.get(url)  
    html = page.text  
    return html

def getImg(html):
    texts = []
    html = etree.HTML(html)
    authors = html.xpath('//h2/text()')   #所有作者信息都在h2标签的文本里
    contents = html.xpath('//div[@class = "content"]//span[1]')  #span[1] 只选择第一个span标签的内容,有些第二个span标签内容是“查看全文”
    for content in contents:
        texts.append(content.xpath('string(.)'))  #过滤多个类似<br>标签,只选择文本
    votes = html.xpath('//*[@class = "stats-vote"]//i[@class = "number"]/text()')   #好笑数
    comments = html.xpath('//*[@class = "qiushi_comments"]//*[@class = "number"]/text()')  #回复数
    for x in zip(authors,texts,votes,comments):
        Enter = input()
        if Enter == 'Q' or Enter == 'q':
            return -1
        print("\n".join((s.strip() for s in x)))
    return 1

 
if __name__=='__main__':
    url = "https://www.qiushibaike.com/hot/"
    html,i = getHtml(url),2
    print("开始读取数据,请按回车键...按Q键退出\n")
    while (getImg(html) == 1):
        print("\n第{}页\n".format(i))
        url = ("https://www.qiushibaike.com/hot/page/%s/" % str(i))
        html,i = getHtml(url),i+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值