从入门到入土:Python爬虫学习|实例练手|爬取百度产品列表|Xpath定位标签爬取|代码注释详解

此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
本人博客所有文章纯属学习之用,不涉及商业利益。不合适引用,自当删除!
若被用于非法行为,与我本人无关

Python爬虫学习|实例练手|爬取百度产品列表

代码

import requests#引入request库
from lxml import etree#引入xpath定位需要的库



headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
}#浏览器请求头

def get_baidu_more():

    for i in range(1):#套用的自己以前的模板

        url = 'https://www.baidu.com/more/'

        rs = requests.session()#定义对象
        r = rs.get(url, headers=headers)#get方法传参

        r.encoding = 'utf-8'#使用utf-8解码,不然会出现乱码
        trees = etree.HTML(r.text)#解析文本

        data=[]#储存功能的几种酚类
        for i in range(1, 9):#看了看一共九种
            Theclass = trees.xpath('//*[@id="content"]/h3[{}]/text()'.format(i))#定位
            data.append(Theclass[0])添加到新的列表中
        #print(data)#输出测试

        j=0
        for i in range(1,90):#爬取每一个功能对应的标签
            name = trees.xpath('//*[@id="content"]/div[{}]/div[2]/a/text()'.format(i))#功能名称
            link = trees.xpath('//*[@id="content"]/div[{}]/div[2]/a/@href'.format(i))#功能对应的链接
            what = trees.xpath('//*[@id="content"]/div[{}]/div[2]/span/text()'.format(i))#功能描述
            if(name==[]):#当标签内容为空则为大类标签的位置,补全分类
                print(data[j])
                j=j+1
                print(" ")
            else:
                print(name[0])
                print(link[0])
                print(what[0])
                print(" ")

get_baidu_more()

运行结果

在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值