import time
import requests
# 爬虫三部曲
# 1.发送请求
def get_page(url):response = requests.get(url)return response
# 2.解析数据
import re
def parse_index(html):
#     findall匹配所有
#     re.findall('正则匹配规则','匹配文本','匹配模式')
#     re.S:对全部文本进行搜索匹配detail_urls = re.findall('<div class="items"><a class="imglink" href="(.*?)"',html, re.S )return detail_urls
# for detail_url in detail_urls:
#     print(detail_url)# 解析详情页
def parse_detail(html):movie_url = re.findall('<source src="(.*?)">',html,re.S)# print(movie_url)if movie_url:return  movie_url[0] #只返回视频的详细网址# 3.保存数据
import uuid
# uuid.uuid4() 根据时间
def save_video(content):with open('{}.mp4'.format(uuid.uuid4()),'wb') as f:f.write(content)print('视频下载完毕')
# main + 回车键
if __name__ == '__main__':for line in range(6):url = 'http://www.xiaohuar.com/list-3-{}.html'.format(line)# 发送请求response = get_page(url)# print(response)#返回响应状态码# print(response.status_code)# 返回响应文本#print(response.text)#解析主页页面detail_urls = parse_index(response.text)#循环遍历详情页urlfor detail_url in detail_urls:print(detail_url)# 往每一个详情页发送请求detail_response = get_page(detail_url)#print(response.text)#解析详情页获取视频urlmovie_url = parse_detail(detail_response.text)#判断视频url存在则打印if movie_url:print(movie_url)#往视频url发送请求获取视频二进制流movie_response = get_page(movie_url)#把视频的二进制流传给save_video函数去保存到本地save_video(movie_response.content)

  

转载于:https://www.cnblogs.com/Auraro997/p/11114973.html

python爬虫Day1(requests基本使用)相关推荐

  1. 爬虫day1 requests基本用法和网页基础

    爬虫day1 requests基本用法和网页基础 1.requests基本用法 # 1. 认识爬虫 """ 1)爬虫 - 用程序自动获取网页数据(可以让数据采集的过程变得 ...

  2. python爬虫基础-requests库

    python爬虫基础-requests库 python爬虫 1.什么是爬虫? 通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程. 注意:浏览器抓取的数据对应的页面是一个完整的页面. 为什 ...

  3. 关于python爬虫(requests)设置http代理的源码demo

    科技不断发展,网络给我们带来了便利,但有时候也会遇到问题,当我们在网络中畅游时,很可能遇到IP受限导致的访问不了这种事情,这个时候我们就需要使用到http代理IP. 那么如何判断自己遇到的是访问受限呢 ...

  4. python怎么安装requests库-Python爬虫入门requests库的安装与使用

    Requests库的详细安装过程 对于初学Python爬虫小白,认识和使用requests库是第一步,requests库包含了网页爬取 的常用方法.下面开始安装requests库. 1.检查是否安装过 ...

  5. 【Python爬虫】requests与urllib库的区别

    我们在使用python爬虫时,需要模拟发起网络请求,主要用到的库有requests库和python内置的urllib库,一般建议使用requests,它是对urllib的再次封装,它们使用的主要区别: ...

  6. python爬虫之requests模块2

    python网络爬虫之requests模块 session处理cookie proxies参数设置请求代理ip 基于线程池的数据爬取 一 获取验证码 步骤: ​ 1 注册云大码 http://www. ...

  7. python爬虫系列—— requests和BeautifulSoup库的基本用法

    本文主要介绍python爬虫的两大利器:requests和BeautifulSoup库的基本用法. 1. 安装requests和BeautifulSoup库 可以通过3种方式安装: easy_inst ...

  8. Python爬虫之Requests模块巩固深入案例

    爬虫之Requests模块巩固深入案例 requests实战之网页采集器 requests实战之破解百度翻译 requests实战之豆瓣电影爬取 requests实战之肯德基餐厅位置爬取 reques ...

  9. Python爬虫之requests

    爬虫之requests 库的基本用法 基本请求: requests库提供了http所有的基本请求方式.例如 r = requests.post("http://httpbin.org/pos ...

最新文章

  1. opencv中stereoCalibrate函数双目标定
  2. Fragment之底层关键操作函数moveToState
  3. Node.js aitaotu图片批量下载Node.js爬虫1.00版
  4. Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Listbox/Scrollbar)
  5. leetcode#42 Trapping rain water的五种解法详解
  6. Linux下如何定位Java进程CPU利用率过高原因
  7. zoj 3488 conic section
  8. 【转】python模块分析之collections(六)
  9. JavaScript实现AES算法加密和解密
  10. 数据分析Power BI数据可视化教程(二)——关于切片器和地图可视化教程
  11. oracle 查询default,oracle分区表检查--是否带有max或default分区
  12. 网络规划设计师教程知识点精讲之计算机网络分类
  13. 北京1954坐标系3度带和6度带及中央子午线对照表
  14. built a JNCIS LAB系列:Chapter 1 Routing Policy Processing v1.0
  15. 跨平台移动框架iMAG开发入门
  16. 计算机怎样将多行文字转换成表格,怎么把表格里的字变成两行
  17. 宇视科技POE摄像机供电方式
  18. python矩阵变成图片_Python图片转换成矩阵,矩阵数据转换成图片
  19. js中offsetHeight,offsetWidth,offsetTop,offsetLeft属性的使用
  20. ios 黑魔法 解决问题

热门文章

  1. 如何安装mysql 8.0.12_基于Windows安装MySQL 8.0.12图文教程
  2. oracle数据库exp权限,exp/imp 权限问题及其知识拓展
  3. vb html ie弹出窗口,VB6 统制IE弹出模式窗口
  4. BodyFusion: Real-time Capture of Human Motion and Surface Geometry Using a Single Depth Camera
  5. Installation of Ubuntu source-insight
  6. mex 里面调用matlab函数
  7. 第二章 Cameras, Lights, and Shadows
  8. html5晶格化,前端开发——滚滚屏(没纵向滚动条)
  9. cnocr:用来做中文OCR的Python3包,装上就能用!
  10. 汉字字符特征提取器 ,提取发音特征、字形特征用做深度学习的特征