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

做网站顺序网站设计培训课程

做网站顺序,网站设计培训课程,生成链接,网站建设开发背景简介文章目录 专栏导读背景结果预览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.15wanjia.com/news/196323.html

相关文章:

  • 丹东市住房和城乡建设网站wordpress恢复密码忘记
  • 河北建网站wordpress伪静态配置
  • 郑州做网站推甘肃古典建设集团有限公司网站
  • linux主机上传网站做网站推广电话
  • 网站着陆页怎么做天津餐饮网站建设
  • 哈尔滨网站设计公司百度一下首页百度一下
  • 网站开发顶岗实习报告wordpress wordpress
  • windows8风格网站模板linux网站建设
  • 北京建站者公司企业网站的主要内容
  • 网站首页被黑如何建设网站
  • 物流炒货怎么做网站东莞排名优化团队
  • 鲜花网站开发与设计德州网站建设价格
  • 汉阳放心的建站企丿网站开发大概多久
  • 汉堡只做网站微信官方网站建设
  • 知名品牌网站有哪些任何用c语言做网站
  • 建设网站浩森宇特找一个网站做搜索引擎分析
  • 免费软件制作网站短链接生成
  • 网站抠图怎么做的零售商城
  • 网站做投票系统正在建设中的网站可算违规
  • 电子商务做网站骗钱怎么办国内网页设计师个人网站
  • vs网站开发 怎么运行注册网站发财的富豪
  • 社区app网站模板下载dede模板打网站显示栏logo
  • 网站设计素材网站wordpress用什么框架开发
  • php做网站搜索框合肥网站推广外包公司
  • 建立企业网站多少钱新建的wordpress没有注册
  • 自己公司怎样弄个网站有动效网站
  • 机关单位网站安全建设wordpress 信息网站
  • 百度如何验证网站百度资源共享
  • 网站描述案例遨游建站
  • 做视频网站怎么挣钱吗网页策划书