当前位置: 首页 > news >正文

个人网站设计大全学新媒体运营最好的培训学校

个人网站设计大全,学新媒体运营最好的培训学校,小程序开发平台免费,织梦 和wordpress文章目录 专栏导读背景结果预览1、爬取页面分析2、通过返回数据发现适合利用lxmlxpath3、继续分析【小说榜、电影榜、电视剧榜、汽车榜、游戏榜】4、完整代码总结 专栏导读 🔥🔥本文已收录于《Python基础篇爬虫》 🉑🉑本专栏专门…

文章目录

  • 专栏导读
  • 背景
  • 结果预览
  • 1、爬取页面分析
  • 2、通过返回数据发现适合利用lxml+xpath
  • 3、继续分析【小说榜、电影榜、电视剧榜、汽车榜、游戏榜】
  • 4、完整代码
  • 总结

专栏导读

🔥🔥本文已收录于《Python基础篇爬虫》

🉑🉑本专栏专门针对于有爬虫基础准备的一套基础教学,轻松掌握Python爬虫,欢迎各位同学订阅,专栏订阅地址:点我直达

🤞🤞此外如果您已工作,如需利用Python解决办公中常见的问题,欢迎订阅《Python办公自动化》专栏,订阅地址:点我直达

🔺🔺此外《Python30天从入门到熟练》专栏已上线,欢迎大家订阅,订阅地址:点我直达

背景

  • 我想利用爬虫获取【百度热搜页面】的全部热搜、包括

  • 1、热搜榜

  • 2、小说榜

  • 3、电影榜

  • 4、电视剧榜

  • 5、汽车榜

  • 6、游戏榜

结果预览

在这里插入图片描述

在这里插入图片描述

1、爬取页面分析

爬取URL:https://top.baidu.com/board?

爬取方法:GET

返回数据:整个页面(TXT)

  • 代码

# -*- coding: UTF-8 -*-
'''
@Project :项目名称
@File    :程序.py
@IDE     :PyCharm
@Author  :一晌小贪欢
@Date    :2024/05/27 11:27
'''import json
import openpyxl
import requests
from lxml import etreeurl = 'https://top.baidu.com/board?'
cookies = {'Cookie': '填入自己的Cookie'
}headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',}params = {'platform': 'pc','tab': 'homepage','sa': 'pc_index_homepage_all',
}res_data = requests.get(url=url, params=params, headers=headers, cookies=cookies)
print(res_data.text)
  • 请求结果

在这里插入图片描述

2、通过返回数据发现适合利用lxml+xpath

  • 我们发现返回的数据是整个网页,其中每一种热搜均在其页面中

  • 热搜榜、小说榜、电影榜、电视剧榜、汽车榜、游戏榜、存在如下div中

在这里插入图片描述

  • 获取该【div】(利用lxml+xpath)

  • 通过分析得:

  • //div[@id="sanRoot"]//div[@class="list_1EDla"]//a//div[@class="c-single-text-ellipsis"]
  • 通过分析发现xpath没问题,但是获的值重复了,所以利用

  • range(0,len(hot_search),2)只要获取一个就行了

在这里插入图片描述

3、继续分析【小说榜、电影榜、电视剧榜、汽车榜、游戏榜】

  • 我们发现这几个排行榜,居然使用一个xpath就可以

  • 通过分析得:

  • //div[@id="sanRoot"]//div[@class="list_1s-Px"]//a[@class="title_ZsyAw"]
  • 【热搜指数】通过分析得:

  • //div[@id="sanRoot"]//div[@class="list_1s-Px"]//div[@class="exponent_QjyjZ"]//span
  • 【热搜分类】通过分析得:

  • //div[@id="sanRoot"]//div[@class="list_1s-Px"]//div[@class="desc_2YkQx"]
  • 这三个长度都是【50】

  • 所以写进列表,进行以10个元素拆分,然后分别写进Excel

4、完整代码

# -*- coding: UTF-8 -*-
'''
@Project :百度热搜爬虫
@File    :程序.py
@IDE     :PyCharm
@Author  :一晌小贪欢
@Date    :2024/05/27 11:27
'''import json
import openpyxl
import requests
from lxml import etreewb = openpyxl.Workbook()
ws = wb.active
# 修改sheet名
ws.title = '热搜榜'
ws.append(['热搜榜'])
ws2 = wb.create_sheet('小说榜')
ws2.append(['小说榜'])
ws3 = wb.create_sheet('电影榜')
ws3.append(['电影榜'])
ws4 = wb.create_sheet('电视剧榜')
ws4.append(['电视剧榜'])
ws5 = wb.create_sheet('汽车榜')
ws5.append(['汽车榜'])
ws6 = wb.create_sheet('游戏榜')
ws6.append(['游戏榜'])url = 'https://top.baidu.com/board?'
cookies = {'填入自己的Cookie'
}headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36',}params = {'platform': 'pc','tab': 'homepage','sa': 'pc_index_homepage_all',
}res_data = requests.get(url=url, params=params, headers=headers, cookies=cookies)
tree = etree.HTML(res_data.text)'''
热搜榜
'''hot_search = tree.xpath('//div[@id="sanRoot"]//div[@class="list_1EDla"]//a//div[@class="c-single-text-ellipsis"]')
print(len(hot_search))for i in range(0,len(hot_search),2):print(hot_search[i].text)ws.append([hot_search[i].text])
'''
小说榜、电影榜、电视剧榜、汽车榜、游戏榜
'''
hot_search2 = tree.xpath('//div[@id="sanRoot"]//div[@class="list_1s-Px"]//a[@class="title_ZsyAw"]')
# print(len(hot_search))
# 热搜指数
hot_search3 = tree.xpath('//div[@id="sanRoot"]//div[@class="list_1s-Px"]//div[@class="exponent_QjyjZ"]//span')
# 分类
type_ = tree.xpath('//div[@id="sanRoot"]//div[@class="list_1s-Px"]//div[@class="desc_2YkQx"]')
count = 0a_list = []for i in range(len(hot_search2)):# print(hot_search2[i].text+' '+hot_search3[i].text+' '+type_[i].text)a_list.append(hot_search2[i].text+' '+hot_search3[i].text+' '+type_[i].text)# 将a_list 以10个元素拆分成小列表
a_list = [a_list[i:i+10] for i in range(0, len(a_list), 10)]
count = 0
for i in a_list:count+=1if count == 1:for j in i:ws2.append([j])elif count == 2:for j in i:ws3.append([j])elif count == 3:for j in i:ws4.append([j])elif count == 4:for j in i:ws5.append([j])elif count == 5:for j in i:ws6.append([j])wb.save("./整体热搜榜.xlsx")

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

http://www.yayakq.cn/news/12613/

相关文章:

  • 莫企业网站建设方案nginx wordpress安全
  • 绵阳网站制作wordpress采集微博
  • 企业网站排名提升软件智能优化东莞seo关键字优化
  • 网站开发的前台开发工具江苏市场监督管理局官网
  • 汕头网站建设系统市场推广计划怎么写
  • 更新网站要怎么做呢网站建设简单合同模板下载
  • 做网站图片像素企业外贸网站推广
  • 响应式企业网站源码网站建设 最新软件
  • 郑州网站seo多少钱wordpress 用户
  • 单页网站怎么做竞价做旅游攻略的网站好
  • 天津网站建设内容专做婴儿的网站
  • 内网小网站的建设网页设计详细步骤
  • wordpress archives国外seo
  • 丰台专业网站建设公司易点科技
  • 国内做服装的网站有哪些vs 2008网站做安装包
  • 深圳三合一建设网站合肥网站建设开发电话
  • 卖挂的网站怎么做网站创建的一般步骤
  • 国土资源网站建设方案网站建设广州
  • 做学校网站用什么模版四维码制作网站
  • 网站文章添加工程师报考网站
  • 北京通网站建设价格低网站设计制作方案
  • 零成本搭建自己的网站wordpress自定义提醒用法
  • 深圳市住房和建设局网站住房保障购物网页html代码
  • 里水网站开发能自己做网站吗
  • 国内做AI视频网站免费观看有用建站宝盒做网站的吗
  • 做以个一元购的网站多少钱10个企业网站设计欣赏
  • 网站404页面作用做商城网站的风险
  • 金融类网站建设十个常见的网络推广渠道
  • 网站开发必用代码天津建设工程信息网上网流程
  • 如何建立电子商务网站重庆推广服务