python爬虫——爬取搜狗影视热门电视剧
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爬虫——爬取搜狗影视热门电视剧相关推荐
- Python爬虫——爬取搜狗影视热门电视剧!无聊就追剧吧!
1.结果图 2.这次爬取的网址请点击传送门 搜狗影视热门电视剧 3.先构建请求头,请求头直接复制过来 4.接下来先请求这条url,通过format方法实现对url的拼接,以达到翻页的效果,通过查看接口 ...
- 使用python爬虫爬取搜狗图片无法获得图片网址
错误原因 找页面网址时:我是打开一张图片,从上方搜索栏复制的,然后发现了规律 xxxx#did=0 这个0一直往后增加,我把它作为页面规律.试验了一下,这些网址能进入到对应的图片. 然后打开了F12, ...
- Python爬虫爬取各大热门短视频平台视频
1.开发工具 Python3.9 requests库 其他一些Python内置库 pycharm 2.第三方库 安装第三方库 pip install requests 3.实现思路 1.利用tkint ...
- python爬虫--爬取9某1看剧网电视剧
文章目录 python爬虫--爬取91看剧网电视剧 爬取视频必备知识 思路 代码 合并视频 python爬虫–爬取91看剧网电视剧 爬取视频必备知识 https://www.91kanju.com/v ...
- python爬虫爬取网易云音乐歌曲_Python网易云音乐爬虫进阶篇
image.png 年前写过一篇爬网易云音乐评论的文章,爬不了多久又回被封,所以爬下来那么点根本做不了什么分析,后面就再改了下,加入了多线程,一次性爬一个歌手最热门50首歌曲的评论,算是进阶版了- 思 ...
- Python爬虫爬取微信朋友圈
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.op-kg.com/ ...
- 在当当买了python怎么下载源代码-python爬虫爬取当当网
[实例简介]python爬虫爬取当当网 [实例截图] [核心代码] ''' Function: 当当网图书爬虫 Author: Charles 微信公众号: Charles的皮卡丘 ''' impor ...
- python爬虫代码实例-Python爬虫爬取百度搜索内容代码实例
这篇文章主要介绍了Python爬虫爬取百度搜索内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 搜索引擎用的很频繁,现在利用Python爬 ...
- python爬虫数据分析可以做什么-python爬虫爬取的数据可以做什么
在Python中连接到多播服务器问题,怎么解决你把redirect关闭就可以了.在send时,加上参数allow_redirects=False 通常每个浏览器都会设置redirect的次数.如果re ...
最新文章
- JVM---垃圾收集器(万字详解)
- python局部变量屏蔽全局变量_python – 将局部变量设置为函数而不是使用全局变量来优化函数...
- 无线网卡掉线解决办法
- Java基础知识回顾--线程
- linux创建逻辑目录,Linux创建逻辑卷
- $(img)是什么意思_什么原因可以让你坚持跑步?医生总结5点,足以让你告别懒惰...
- Maven打包SpringBoot项目时分离依赖JAR,配置文件时POM文件的参考配置
- python一行输出多个数据_python实现一行输入多个值和一行输出多个值的例子
- vue 音频文件打包后找不到文件
- top 内存耗用:VSS/RSS/PSS/USS
- win10安装马上6的问题
- 卖西瓜问题(Java经典编程案例)
- malformed header from script. Bad header的解决方法以及原因
- am335x linux 的uboot工作流程.doc,am335x uboot2016.05 (MLO u-boot.img)执行流程(转)
- Unity Mesh(一) 初步使用Mesh画平面图形
- 导入依赖失败,报错信息Failed to resolve: com.*.*:*:0.0.0<a href=““>Show in Project Structure dialog
- 2021 HZNU Winter Training Day 17 (2018 German Collegiate Programming Contest (GCPC 18))
- Ringbuffer 范例
- git 小乌龟安装教程
- Mockito使用详解
热门文章
- Arduino与Proteus仿真实例-NTC热敏电阻驱动仿真
- C++学习的一些经历
- 5000人小程序 服务器,微信公开课憋了哪些大招?放开5000好友限制,小程序超8000亿规模...
- 移动网络http请求不到数据,wifi下可以
- 解决opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]的问题
- 谷歌Project Ara,将开启下一个智能手机时代
- 五百年春光明媚之重建亚历山大图书馆谭
- 修复duilib库UISlider控件的4个bug
- 最简单的基于FFMPEG+SDL的音频播放器
- 用MATLAB画圣诞树的源代码