python爬虫——爬取搜狗影视热门电视剧

1.结果图

2.这次爬取的网址请点击传送门
搜狗影视热门电视剧

3.先构建请求头,请求头直接复制过来

4.接下来先请求这条url,通过format方法实现对url的拼接,以达到翻页的效果,通过查看接口内容,发现是js格式,热门电视剧的信息存储在’class’:'add-list-1’中

5.将数据存储为文件(json/xls)

1.worksheet.write(0,i,title[i])中
—0表示行
—i表示列
—title[i]表示写入的内容

6.完整代码

import requests
import bs4
import json
import xlwt
allData=[]def fetchUrl(url):"""访问 url 网页,获取网页内容并返回"""headers={'Accept': '*/*','Accept-Encoding': 'gzip, deflate, br','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0',}    r=requests.get(url,headers=headers)r.raise_for_status()r.encoding=r.apparent_encodingreturn r.text
def getData(url):"""爬取数据""" html=fetchUrl(url)soup=bs4.BeautifulSoup(html,'html.parser')titleList=soup.find('div',attrs={'class':'add-list-1'}).ul.find_all('li')e1=''e2=''e3=''e3List=[] # 主演/类型/地区/年份for title in titleList: dataDict={} # 一个电视剧对应一个字典元素e1=title.find('p',attrs={'class':'text_over'}).text # 集数e2=title.find('p',attrs={'class':'tit'}).a.text # 电视剧名e3=title.find_all('dl',attrs={'class':'cf'})for e in e3:a=e.find('dd').find_all('a')a1=''for a2 in a:if a1:a1=a1+'/'+a2.textelse:a1=a2.texte3List.append(a1)        dataDict['电视剧名']=e2dataDict['集数']=e1dataDict['主演']=e3List[0]dataDict['类型']=e3List[1]dataDict['地区']=e3List[2]dataDict['年份']=e3List[3]allData.append(dataDict)e3List.clear()
def main():"""main函数入口"""page=1while True:if page>445:breakurl='https://kan.sogou.com/dianshiju/----{0}/'.format(page)print('第{}页'.format(page))page+=1getData(url)# 保存为json格式的文件# ensure_ascii=False表示非ASCII字符原样输出with open('搜狗影视热门电视剧.json', 'w', encoding='utf-8') as f:json.dump(allData, f, ensure_ascii=False, indent=4)print('json文件保存成功')# 保存为xls格式的文件# 创建一个workbook和一个worksheet,命名为pythonworkbook=xlwt.Workbook()worksheet=workbook.add_sheet('python')title=['电视剧名','集数','主演','类型','地区','年份'] # 表头for i in range(len(title)):worksheet.write(0,i,title[i])for j in range(len(allData)):worksheet.write(j+1,0,allData[j]['电视剧名'])worksheet.write(j+1,1,allData[j]['集数'])worksheet.write(j+1,2,allData[j]['主演'])worksheet.write(j+1,3,allData[j]['类型'])worksheet.write(j+1,4,allData[j]['地区'])worksheet.write(j+1,5,allData[j]['年份'])workbook.save('搜狗影视热门电视剧.xls')print('xls文件保存成功')main()

python爬虫——爬取搜狗影视热门电视剧相关推荐

  1. Python爬虫——爬取搜狗影视热门电视剧!无聊就追剧吧!

    1.结果图 2.这次爬取的网址请点击传送门 搜狗影视热门电视剧 3.先构建请求头,请求头直接复制过来 4.接下来先请求这条url,通过format方法实现对url的拼接,以达到翻页的效果,通过查看接口 ...

  2. 使用python爬虫爬取搜狗图片无法获得图片网址

    错误原因 找页面网址时:我是打开一张图片,从上方搜索栏复制的,然后发现了规律 xxxx#did=0 这个0一直往后增加,我把它作为页面规律.试验了一下,这些网址能进入到对应的图片. 然后打开了F12, ...

  3. Python爬虫爬取各大热门短视频平台视频

    1.开发工具 Python3.9 requests库 其他一些Python内置库 pycharm 2.第三方库 安装第三方库 pip install requests 3.实现思路 1.利用tkint ...

  4. python爬虫--爬取9某1看剧网电视剧

    文章目录 python爬虫--爬取91看剧网电视剧 爬取视频必备知识 思路 代码 合并视频 python爬虫–爬取91看剧网电视剧 爬取视频必备知识 https://www.91kanju.com/v ...

  5. python爬虫爬取网易云音乐歌曲_Python网易云音乐爬虫进阶篇

    image.png 年前写过一篇爬网易云音乐评论的文章,爬不了多久又回被封,所以爬下来那么点根本做不了什么分析,后面就再改了下,加入了多线程,一次性爬一个歌手最热门50首歌曲的评论,算是进阶版了- 思 ...

  6. Python爬虫爬取微信朋友圈

    更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...

  7. 在当当买了python怎么下载源代码-python爬虫爬取当当网

    [实例简介]python爬虫爬取当当网 [实例截图] [核心代码] ''' Function: 当当网图书爬虫 Author: Charles 微信公众号: Charles的皮卡丘 ''' impor ...

  8. python爬虫代码实例-Python爬虫爬取百度搜索内容代码实例

    这篇文章主要介绍了Python爬虫爬取百度搜索内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 搜索引擎用的很频繁,现在利用Python爬 ...

  9. python爬虫数据分析可以做什么-python爬虫爬取的数据可以做什么

    在Python中连接到多播服务器问题,怎么解决你把redirect关闭就可以了.在send时,加上参数allow_redirects=False 通常每个浏览器都会设置redirect的次数.如果re ...

最新文章

  1. JVM---垃圾收集器(万字详解)
  2. python局部变量屏蔽全局变量_python – 将局部变量设置为函数而不是使用全局变量来优化函数...
  3. 无线网卡掉线解决办法
  4. Java基础知识回顾--线程
  5. linux创建逻辑目录,Linux创建逻辑卷
  6. $(img)是什么意思_什么原因可以让你坚持跑步?医生总结5点,足以让你告别懒惰...
  7. Maven打包SpringBoot项目时分离依赖JAR,配置文件时POM文件的参考配置
  8. python一行输出多个数据_python实现一行输入多个值和一行输出多个值的例子
  9. vue 音频文件打包后找不到文件
  10. top 内存耗用:VSS/RSS/PSS/USS
  11. win10安装马上6的问题
  12. 卖西瓜问题(Java经典编程案例)
  13. malformed header from script. Bad header的解决方法以及原因
  14. am335x linux 的uboot工作流程.doc,am335x uboot2016.05 (MLO u-boot.img)执行流程(转)
  15. Unity Mesh(一) 初步使用Mesh画平面图形
  16. 导入依赖失败,报错信息Failed to resolve: com.*.*:*:0.0.0<a href=““>Show in Project Structure dialog
  17. 2021 HZNU Winter Training Day 17 (2018 German Collegiate Programming Contest (GCPC 18))
  18. Ringbuffer 范例
  19. git 小乌龟安装教程
  20. Mockito使用详解

热门文章

  1. Arduino与Proteus仿真实例-NTC热敏电阻驱动仿真
  2. C++学习的一些经历
  3. 5000人小程序 服务器,微信公开课憋了哪些大招?放开5000好友限制,小程序超8000亿规模...
  4. 移动网络http请求不到数据,wifi下可以
  5. 解决opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]的问题
  6. 谷歌Project Ara,将开启下一个智能手机时代
  7. 五百年春光明媚之重建亚历山大图书馆谭
  8. 修复duilib库UISlider控件的4个bug
  9. 最简单的基于FFMPEG+SDL的音频播放器
  10. 用MATLAB画圣诞树的源代码