爬虫-文字爬取

import re
import requests
respone = requests.get('https://ishuo.cn/') ##获取网站url
data = respone.text ##把字符串转化成文本
result_list = re.findall('<div class="content">(.*?)</div>',data) ##找到需要爬取的内容,需要爬取的内容用'(.*?)'来代替,其他格式不变。
'''
<div class="content">如果你得罪了老板,失去的只是一份工作;
如果你得罪了客户,失去的不过是一份订单;是的,世上只有一个人可以得罪:你给她脸色看,你冲她发牢骚,
你大声顶撞她,甚至当 着她的面摔碗,她都不会记恨你,原因很简单,因为她是你的母亲。</div>
'''
for result in result_list: ##爬取这个网页所有标记的文本
print(result)

爬虫-图片爬取

import re
import requests
count = 0
for i in range(44): ##设置图片网页的范围,进行网页跳转。
url = f'http://www.xiaohuar.com/list-1-{i}.html' ##获取跳转网页的url路径
response = requests.get(url) ##获取网页url路径,并赋值给response
data= response.text ##将response转化成text文本并赋值给data
# print(data)
result_list = re.findall('src="(.*?)"',data) ##从data文本中提取需要爬取的图片路径,用“(.*?)”来代替,并赋值给result_list(变成列表)
for result in result_list: # type:str ##逐个提取图片url出来
if result.startswith('https'): ##刷选开头是”https“的图片url
img_respone = requests.get(result) ##将开头是“https”的图片url提取出来,并赋值给img_response列表
# print(img_respone)
img_name = result.split('/')[-1] ##对列表中图片url以“/”标识进行切分,并提取最后一段url,并赋值给img_name
# print(img_name)
img_data = img_respone.content ##将列表img_response转换成二进制格式
with open (img_name,'wb') as fw: ##打开img_name文件,并赋予写入权限(以字节格式写入)
fw.write(img_data) ##将img_data的数据写入img_name文件
fw.flush() ##快速写入
count +=1
print(f'爬取了{count}张图片') ##可以显示提示提取了多少张图片

爬虫-视频爬取

import re
import requests
response = requests.get('https://www.ku6.com/index') ##获取网站url
data = response.text ##将response转换成文本格式
count = 0
result_list = re.findall('<a class="video-image-warp" target="_blank" href="(.*?)">',data) ##获取视频地址
for result in result_list: #type:str ##将获取第一层视频地址全部提取出来
# print(result)
if result.startswith('/detail/') or result.startswith('/video/'): ##判断result里面以“/detail/”和“/video/”开头的url路径
result = f'https://www.ku6.com{result}' ## 提取判断正确的url路径,并赋值给第二层url列表
result_response = requests.get(result) ##重新获取第二层视频url路径,并赋值给response1
data1 = result_response.text ##将response1格式转换成文本
#print(data1)
video_url = re.findall('<source src="(.*?)" type="video/mp4">',data1) ##获取视频地址
# print(video_url)
if not video_url: ##对视频格式进行判断
video_url = re.findall('flvURL: "(.*?)"',data1) ##如果视频不是这个url格式,则更换成另外一种格式
# print(video_url)
video_response = requests.get(video_url[0]) ##获取视频url路径
video_data = video_response.content video_name = f"{video_url[0].split('/')[-1]}.mp4"
with open (video_name,'wb') as fw:
fw.write(video_data)
fw.flush()
count +=1
print(f'爬取了{count}个视频')

python-爬虫学习(文字、图片、视频)的更多相关文章

  1. Python 爬虫学习 网页图片下载

    使用正则表达式匹配 # coding:utf-8 import re import urllib def get_content(url): """ Evilxr, &q ...

  2. python爬虫学习视频资料免费送,用起来非常666

    当我们浏览网页的时候,经常会看到像下面这些好看的图片,你是否想把这些图片保存下载下来. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片点击鼠标右键的时候并没有另存为选项,或者你可以通过截图工 ...

  3. python爬虫学习(1) —— 从urllib说起

    0. 前言 如果你从来没有接触过爬虫,刚开始的时候可能会有些许吃力 因为我不会从头到尾把所有知识点都说一遍,很多文章主要是记录我自己写的一些爬虫 所以建议先学习一下cuiqingcai大神的 Pyth ...

  4. python爬虫学习01--电子书爬取

    python爬虫学习01--电子书爬取 1.获取网页信息 import requests #导入requests库 ''' 获取网页信息 ''' if __name__ == '__main__': ...

  5. python爬虫学习05-爬取图片

    python爬虫学习05-爬取图片 确定要爬取的网址:https://shenan.tuchong.com/20903415/#image309854686 要爬取的内容:使用浏览器插件xpath对图 ...

  6. python爬虫学习 —— 总目录

    开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...

  7. Python爬虫学习:三、爬虫的基本操作流程

    本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:三.爬虫的基本操作与流程 一般我们使用Python爬虫都是希望实现一套完整的功能,如下: 1.爬虫目标数据.信息: 2.将 ...

  8. Python爬虫学习:四、headers和data的获取

    之前在学习爬虫时,偶尔会遇到一些问题是有些网站需要登录后才能爬取内容,有的网站会识别是否是由浏览器发出的请求. 一.headers的获取 就以博客园的首页为例:http://www.cnblogs.c ...

  9. Python爬虫学习:二、爬虫的初步尝试

    我使用的编辑器是IDLE,版本为Python2.7.11,Windows平台. 本文是博主原创随笔,转载时请注明出处Maple2cat|Python爬虫学习:二.爬虫的初步尝试 1.尝试抓取指定网页 ...

  10. 《Python爬虫学习系列教程》学习笔记

    http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己 ...

随机推荐

  1. Linux系统配置文件

    ubuntu系统: ~/.bashrc:该文件保存终端的文本,颜色等各类设置 ~/.bash_history:保存用户运行过的命令 ~:表示home目录 /etc/matb:该文件保存所有挂载分区的文 ...

  2. 进程与线程(2)- python实现多进程

    python 实现多进程 参考链接: https://morvanzhou.github.io/tutorials/python-basic/multiprocessing/ python中实现多进程 ...

  3. nginx用户统计

    1 概念 PV:页面访问量,即PageView,用户每次对网站的访问均被记录,用户对同一页面的多次访问,访问量累计. UV:独立访问用户数:即UniqueVisitor,访问网站的一台电脑客户端为一个 ...

  4. Hdu 5459 Jesus Is Here (2015 ACM/ICPC Asia Regional Shenyang Online) 递推

    题目链接: Hdu 5459 Jesus Is Here 题目描述: s1 = 'c', s2 = 'ff', s3 = s1 + s2; 问sn里面所有的字符c的距离是多少? 解题思路: 直觉告诉我 ...

  5. 2017年“嘉杰信息杯” 中国大学生程序设计竞赛全国邀请赛 Highway

    Highway Accepted : 122   Submit : 393 Time Limit : 4000 MS   Memory Limit : 65536 KB Highway In ICPC ...

  6. Codeforces Round #410 (Div. 2) C

    Description Mike has a sequence A = [a1, a2, ..., an] of length n. He considers the sequence B = [b1 ...

  7. pyinstaller打包遇到的错误处理

    在python环境中运行中没问题,但打包时遇到以下问题 1.有时打包出现 UnicodeDecodeError错误, 可以改变cmd的编码(暂且这么叫),在cmd 中输入 chcp 65001,再次打 ...

  8. Pycharm中pygame报错

    什么鬼???我记得刚安装过啊-.. 并且本机只有一个python3.5,环境变量之前都是正常,我去折腾了大半天,原来在pycharm中安装模块是在如下所示图中 以后如果没有安装模块,都可以在这里进行安 ...

  9. P2658 汽车拉力比赛

    题目描述 博艾市将要举行一场汽车拉力比赛. 赛场凹凸不平,所以被描述为M*N的网格来表示海拔高度(1≤ M,N ≤500),每个单元格的海拔范围在0到10^9之间. 其中一些单元格被定义为路标.组织者 ...

  10. springboot之项目打包

    通过win中的cmd或者idea中终端,打包并启动项目: 1.mvn package     [打包,在target中生成jar] 2.java -jar xxxxx.jar  [启动jar]