Python爬虫实验报告之Big_Homework1_Lishipin

Python爬虫实验报告之Big_Homework1_Lishipin实验目的:爬取梨视频网站某模块全部信息;字段信息为:视频标题、作者、点赞数,纯视频链接,并且存入txt文档。实验过程截图:源码:1importrequests2fromlxmli

大家好,又见面了,我是你们的朋友全栈君。

实验目的:

爬取梨视频网站某模块全部信息;

字段信息为:视频标题、作者、点赞数,纯视频链接,并且存入txt文档。

实验过程截图

<span role="heading" aria-level="2">Python爬虫实验报告之Big_Homework1_Lishipin<span role="heading" aria-level="2">Python爬虫实验报告之Big_Homework1_Lishipin<span role="heading" aria-level="2">Python爬虫实验报告之Big_Homework1_Lishipin<span role="heading" aria-level="2">Python爬虫实验报告之Big_Homework1_Lishipin<span role="heading" aria-level="2">Python爬虫实验报告之Big_Homework1_Lishipin<span role="heading" aria-level="2">Python爬虫实验报告之Big_Homework1_Lishipin<span role="heading" aria-level="2">Python爬虫实验报告之Big_Homework1_Lishipin

 

源码:

<span role="heading" aria-level="2">Python爬虫实验报告之Big_Homework1_Lishipin
<span role="heading" aria-level="2">Python爬虫实验报告之Big_Homework1_Lishipin

 1 import requests  2 from lxml import etree  3 from urllib import request  4 import re  5  6 # 全局变量(请求头+文件IO对象)  7 headers = {  8 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36 Edg/85.0.564.44'}  9 file = open('./梨视频.txt', 'w', encoding='utf-8') 10 11 12 # 采集前端源码 13 def index(): 14 for num in range(0, 493, 12): 15 base_url = 'https://www.pearvideo.com/category_loading.jsp?reqType=5&categoryId=59&start={}'.format(num) 16 print('正在写入', base_url, '中的数据信息...') 17 response = requests.get(base_url, headers=headers) # 模拟访问+请求头 18 response.encoding = 'utf-8' # 解码 19 html = response.text # 获取源码 20 clean(html) # 清洗数据 21 22 23 # 清洗数据 24 def clean(html): 25 htmls = etree.HTML(html) # 预处理 26 video_titles = htmls.xpath('//div[@class="vervideo-bd"]/a/div[2]/text()') 27 # print(video_titles),视频标题 28 video_authors = htmls.xpath('//div[@class="vervideo-bd"]/div/a/text()') 29 # print(video_authors),作者 30 video_likes = htmls.xpath('//div[@class="vervideo-bd"]/div/span/text()') 31 # print(video_likes),点赞数 32 video_urls1 = htmls.xpath('//div[@class="vervideo-bd"]/a/@href') 33 # print(video_urls1),不完整的视频链接 34  printt(video_titles,video_authors,video_likes,video_urls1) 35 36 37 # 打印数据 38 def printt(video_titles,video_authors,video_likes,video_urls1): 39 # 拼接 40 for vu,vt,va,vl in zip(video_urls1,video_titles,video_authors,video_likes): 41 video_urls2 = 'https://www.pearvideo.com/' + vu 42 # print(video_urls2) 43 # 第二层访问 44 response = requests.get(video_urls2) 45 response.encoding = 'utf-8' 46 html = response.text 47 # print(html) 48 # 吸星大法 49 pattern = re.compile('srcUrl="(.*?)",vdoUrl') 50 video_url = pattern.findall(html)[0] 51 # print(video_url) 52 full_info='视频标题:'+vt+'\t'+'作者:'+va+'\t'+'点赞数:'+str(vl)+'\n'+video_url 53 file.write(full_info+'\n') 54 55 56 # 下载模块 57 def download(): 58 pass 59 60 61 if __name__ == '__main__': 62  index() 63 file.close()

View Code

实验心得:

因为我先写的大作业2,所以这个写的顺的一批,中间也没遇到什么烦人的bug,又是一段开心的编程经历。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156168.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Logstash:Logstash 入门教程 (一)

    Logstash:Logstash 入门教程 (一)Logstash是一个功能强大的工具,可与各种部署集成。它提供了大量插件,可帮助你解析,丰富,转换和缓冲来自各种来源的数据。如果你的数据需要Beats中没有的其他处理,则需要将Logstash添加到部署中。Logstash是Elastic栈非常重要的一部分,但是它不仅仅为Elasticsearch所使用。它可以介绍广泛的各种数据源。Logstash可以帮利用它自己的Filter帮我们对……

    2022年10月22日
  • json_decode的结果是null

    json_decode的结果是null一、前言      突然发现一个接口出了问题,经过排查之后发现是json_decode($str,true)的问题,返回竟然是null。这个问题大家可能都碰到过,出现问题的原因就那么几种,再次记录一下吧二、原因1、首先使用json_last_error确定问题$arrDataList=json_decode($content…

  • PHP redis安装扩展

    PHP redis安装扩展

    2021年10月18日
  • 华为光纤交换机zone配置

    华为光纤交换机zone配置需求:划分2个zone,接入两个不同业务群集。环境:华为光纤交换机SNS2124IOIO:串口,只用于串口登录admin/Hawei12#$有网络图标的口:管理口,管理地址10.77.77.77,http://10.77.77.77admin/Hawei12#$,连接网线可通过ssh登录。使用ipaddrset命令修改地址。注意:按照第一步至第六步即可完成配置,如修过别名或zone成…

  • sendfile为什么比read、writer快

    sendfile为什么比read、writer快本文转自: http://www.yanyufly.com/2010/10/22/sendfile为什么比readwrite快/ 在看关于文件IO优化资料时,其中提到了sendfile,man了一下,原理是:由于cp都执行在内核态中,避免用户多次调用的切换以及内存cp,因此性能要高于read()+write().适用于从一个文件读出写到另一个文件(网络Fd也可)#include

  • js免费调用天气API

    js免费调用天气APIjs调用天气API文档参考链接:天气API文档1、首先登陆天气API进行用户注册点击右上角进行注册、登录2、打开API文档如下图其中appid和appsecret则在天气API控制器中查看其中appid和version和appsecret3者为必填选项,例如https://www.tianqiapi.com/api?version=v9&appid=84122144&appsecret=m70vbv6Acityid、city、ip则代表三种查询方式(三选一)(城市i

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号