这篇文章给大家聊聊关于小视频排行网站源码分享,以及小视频app源码免费下载对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
文章目录
一、写在前面
好不容易女神喊我去看电影,但是她问我准备看什么,那我得好好准备准备~
二、准备工作
1、使用的软件
私信小编01即可获取大量Python学习资源
python3.8(来源免费的)Pycharm(YYDSpython最好用的编辑器不接受反驳…)
软件及安装讲解:软件安装包/安装视频讲解
2、使用的模块
requests>>>数据请求模块pipinstallrequestsparsel>>>数据解析模块pipinstallparselcsv模块安装:如何安装python模块,python模块安装失败的原因以及解决办法
3、爬虫思路
无论你爬取任何网站数据,都是可以按照这个几步骤来。
1.明确需求
我们要爬取的内容是什么
https://movie.douban.com/top250
要分析我们想要的数据,可以从哪里获取,哪里来的…(数据来源分析)
用这个开发者工具进行抓包(数据包)分析
静态网页:网页上面看到的数据内容,在网页源代码里面都有动态网站:抓包分析
2.发送请求(开发者工具里面headers)
对于那个网址发送请求,发送什么样的请求,携带那些请求头参数。
3.获取数据
获取服务器返回的数据内容,看服务器的数据格式是什么样的,或者说我们想要的数据是什么样的;
获取文本数据response.text;
获取服务器json字典数据response.json();
获取二进制数据response.content保存视频/音频/图片/特定格式的文件内容,都是获取二进制数据;
4.解析数据
提供我们想要的数据内容
5.保存数据
保存本地
三、代码解析
1、导入模块
导入一下我们需要用到的模块
importrequests数据解析模块pipinstallparsel\nimportcsv39;豆瓣数据.csv&39;a&39;utf-8&39;&39;电影名字&39;导演&39;主演&39;年份&39;国家&39;电影类型&39;评论人数&39;评分&39;概述&39;详情页&39;https://movie.douban.com/top250?start={\npage}&filter=&headers请求头用来伪装python代码为了防止爬虫程序被服务器识别出来,\n披着羊皮的狼爬虫程序>>>狼headers>>>羊皮服务器数据>>>羊圈\nheaders={\n\n&39;:&39;\n}\n通过requests数据请求模块里面get请求方法对于url以及发送请求并且携带header请求头,最后用response变量接收返回数据\nresponse=requests.get(url=url,headers=headers)\nprint(response.text)\njson键值对取值\n把获取下来的response.text网页字符串数据转成selector对象\nselector=parsel.Selector(response.text)\n39;<htmllang=&34;class=&39;>对象\n第一次解析数据,获取所有li标签\nlis=selector.css(&39;)selector.xpath(&34;grid_view&39;)[]列表,如果说我想要一一提取列表里面的元素怎么做?
4、解析数据
forliinlis:\ntry:\n1选择第一个span标签text获取标签文本数据\ntitle=li.css(&39;).get()\nhref=li.css(&39;).get()li.xpath(&34;hd&39;).get()\nget获取第一个标签数据getall获取所有的\nmove_info=li.css(&39;).getall()\nactor_list=move_info[0].strip().split(&39;)print(actor_list)\ndate_list=move_info[1].strip().split(&39;)39;导演:&39;&导演\nactor=actor_list[1].replace(&39;,&39;).replace(&39;,&39;).replace(&39;,&39;)年份\ncountry=date_list[1].strip()电影类型\ncomment=li.css(&39;).get().replace(&39;,&39;)39;.starspan:nth-child(2)::text&星级\nworld=li.css(&39;).get()字符串的高级方法\n字符串如何去除空格呢?\n39;电影名字&39;导演&39;主演&39;年份&39;国家&39;电影类型&39;评论人数&39;评分&39;概述&39;详情页&39;|&39;豆瓣数据.csv&39;a&39;utf-8&39;&39;电影名字&39;导演&39;主演&39;年份&39;国家&39;电影类型&39;评论人数&39;评分&39;概述&39;详情页&39;https://movie.douban.com/top250?start={\npage}&filter=&39;User-Agent&39;Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/96.0.4664.45Safari/537.36&39;.grid_viewli&css选择器语法\n\nforliinlis:\ntry:\n\ntitle=li.css(&39;).get()\nhref=li.css(&39;).get()39;.bdp::text&39;&列表索引位置取值\n\ndate_list=move_info[1].strip().split(&39;)39;导演:&39;&导演\nactor=actor_list[1].replace(&39;,&39;).replace(&39;,&39;).replace(&39;,&39;)年份\ncountry=date_list[1].strip()电影类型\ncomment=li.css(&39;).get().replace(&39;,&39;)\nstar=li.css(&39;).get()39;.inq::text&概述\n\ndit={\n\n&39;:title,\n&39;:director,\n&39;:actor,\n&39;:date,\n&39;:country,\n&39;:move_type,\n&39;:comment,\n&39;:star,\n&39;:world,\n&39;:href,\n}\ncsv_writer.writerow(dit)\n\nprint(title,director,actor,date,country,move_type,comment,star,world,href,sep=&39;)\nexcept:\npass
注释对照前面,完整代码不给注释,为了你们认真学习我真的是挠破脑袋了。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!