# 今日内容:爬虫原理# 爬虫课程:# 实训要求:# 一 课下写作业# 二 编写博客

# 一  爬虫基本原理#       1 什么是爬虫#             爬虫就是爬数据#       2 是什么互联网#       3 互联网建立的目的#             数据的传递与数据的共享#       4 什么是数据#           电商平台的商品信息(淘宝,京东,亚马逊)#           链家,自如(租房平台的房源信息)#           股票证券投资信息(东方财富)#       5 什么是上网#             普通用户:#                 打开浏览器--->输入网址#                 --->往目标主机发送请求# 爬虫三部曲# 爬取校花视屏网#   一  请求url#   二  请求方式#   三   请求头信息import requests#     1,发送请求def get_page(url):        response =requests.get(url)        return response

#     2,解析数据import redef parse_index(html):    # findall匹配所有    # re.findall('正则匹配规则','匹配文本','匹配模式')    # re.S(对全部文本进行搜索匹配)    detail_urls=re.findall('<div class="items"><a class="imglink" href="(.*?)"',html,re.S)    print(detail_urls)    # for detail_url in detail_urls:        # print(detail_url)    return detail_urls# 解析详情页def parse_detail(html):    movie_url=re.findall('<source src="(.*?)">',html,re.S)    print(movie_url)    # print(movie_url)    if movie_url:        return movie_url[0]#     3,保存数据# import uuid# #  uuid.uuid4()根据时间戳生成一段世界上唯一的字符串# def save_video(content):#     with open(f'{uuid.uuid4()}.mp4','wb') as f:#         f.write(content)#         print('视频下载完毕。。。请客人观赏!!!')# 测试用例if __name__ == '__main__':    for line in range(6):        url = f'http://www.xiaohuar.com/List-3-{line}.html'

# 发送请求        response=get_page(url)        # print(response)# 返回响应状态码            # print(response.status_code)# 返回响应文本            # print(response.text)# 解析主页页面        detail_urls=parse_index(response.text)# 循环遍历详情页 url        for detail_url in detail_urls:            # print(detail_url)# 往每一个详情页发送请求            detail_res=get_page(detail_url)        #   print(response.text)#  解析详情页获取视频url        #     print(detail_res)            movie_url=parse_detail(detail_res.text)# 判断视频url存在则打印            if movie_url:                print(movie_url) # 往视频url发送请求获取视频二进制流                  movie_res=get_page(movie_url)# 把视频的二进制流传给save——video的函数取保存到本地                   save_video(movie_res.content)
# post请求自动登录github#     请求url#           https://github.com/session#     请求方式#         post#     请求头#             Cookie#     请求体            # commit: Sign in            # utf8: ✓            # authenticity_token: <input type="hidden" name="authenticity_token" value="" />            # login: qweqwe            # password: qweqweqw            # webauthn-support: supported# 1,访问登陆页面获取token随机字符串#     请求url#       https://github.com/login#     请求方式#        get#     请求头#       COOKIES#       Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36# 2,解析并提取token字符串# 正则# <input type="hidden" name="authenticity_token" value="" />import requestsimport relogin_url='https://github.com/login'# login页面的请求头信息login_header={    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}login_res=requests.get(url=login_url,headers=login_header)# print(login_res.text)# 解析提取token字符串authenticity_token = re.findall(    '<input type="hidden" name="authenticity_token" value="(.*?)" />',    login_res.text,    re.S)[0]print(authenticity_token)# 获取login页面的cookie信息# print(type(login_res.cookies.get_dict()))login_cookie=login_res.cookies.get_dict()# session登录urlsession_url='https://github.com/session'# 请求头信息session_header={    'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}# 请求体信息form_data={    "commit": "Sign in",    "utf8": "✓",    "authenticity_token":authenticity_token,    "login": "RuiZinb",    "password": "Pig,1574140397",    "webauthn-support": "supported"

}session_res=requests.post(url=session_url,                          headers=session_header,                          cookies=login_cookie,                          data=form_data)with open('github3.html','w',encoding='utf-8')as f:    f.write(session_res.text)

转载于:https://www.cnblogs.com/RuiZi/p/11114023.html

day 01 python爬虫原理相关推荐

  1. python爬虫原理-python学习之python爬虫原理

    原标题:python学习之python爬虫原理 今天我们要向大家详细解说python爬虫原理,什么是python爬虫,python爬虫工作的基本流程是什么等内容,希望对这正在进行python爬虫学习的 ...

  2. python爬虫原理-python爬虫原理详细讲解

    原标题:python爬虫原理详细讲解 一 .爬虫是什么 1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. 2.互联网建立的目的?互联网的 ...

  3. python画球鞋_基于Python爬虫原理的篮球鞋选择程序的设计与实现

    基于 Python 爬虫原理的篮球鞋选择程序的设计与实现 张世元 [期刊名称] <通讯世界> [年 ( 卷 ), 期] 2019(026)002 [摘要] 伴随着篮球鞋工艺的进步及产业升级 ...

  4. python学习之python爬虫原理

    今天我们要向大家详细解说python爬虫原理,什么是python爬虫,python爬虫工作的基本流程是什么等内容,希望对这正在进行python爬虫学习的同学有所帮助! 前言 简单来说互联网是由一个个站 ...

  5. python爬取数据的原理_python学习之python爬虫原理

    原标题:python学习之python爬虫原理 今天我们要向大家详细解说python爬虫原理,什么是python爬虫,python爬虫工作的基本流程是什么等内容,希望对这正在进行python爬虫学习的 ...

  6. 关于Python爬虫原理和数据抓取1.1

    为什么要做爬虫? 首先请问:都说现在是"大数据时代",那数据从何而来? 企业产生的用户数据:百度指数.阿里指数.TBI腾讯浏览指数.新浪微博指数 数据平台购买数据:数据堂.国云数据 ...

  7. python爬虫原理-python爬虫之认识爬虫和爬虫原理

    python爬虫之基础学习(一) 网络爬虫 网络爬虫也叫网络蜘蛛.网络机器人.如今属于数据的时代,信息采集变得尤为重要,可以想象单单依靠人力去采集,是一件无比艰辛和困难的事情.网络爬虫的产生就是代替人 ...

  8. python爬虫什么意思-Python爬虫是什么意思有啥用 python爬虫原理实例介绍

    据华为中国官方消息,今日,华为中国发文<小白看过来,让Python爬虫成为你的好帮手>,文中详细介绍了Python爬虫的工作原理,我们来看一下吧. 以下为<小白看过来,让Python ...

  9. Python爬虫原理与简单示例代码

    链接 链接 爬取知乎热榜话题: 链接 BeautifulSoup的使用1: url = 'http://www.cntour.cn/'strhtml = requests.get(url)soup = ...

最新文章

  1. 微信支付接口开发过程
  2. jzoj5702-[gdoi2018day2]滑稽子图【树形dp,二项式定理】
  3. ns2相关学习——tcl脚本编写(1)
  4. Windows下调试hadoop
  5. 传参:@RequestParam @RequestBody @PathVariable的作用
  6. list是否包含字符串_Python创建list
  7. 给硬盘分个整数大小的区
  8. Smart3D模型合并
  9. 详版大数据报告_《2018抖音大数据报告》完整版,赶快收藏!
  10. 常用颜色及RGB配色表
  11. matlab图像身高测量,基于Kinect景深图像的快速身高和体重测量方法
  12. Zoj 3527 Shinryaku! Kero Musume (DP_章鱼图上的树形DP)
  13. 詹姆斯•高斯林/关于Java的故事
  14. 考研和计算机三级,考研考计算机与考软件有什么区别吗
  15. 推荐,Java Emoji Converter(Emoji表情转换工具)
  16. 亚马逊FBA相关术语介绍
  17. 第三次作业 软件产品同质化问题
  18. PowerBuilder 跑马灯
  19. 反编译 jdk1.8 工具 [Procyon-Decompiler]
  20. ProxmoxVE 之 使用thinstation利旧安装瘦客户端

热门文章

  1. 中国板翅式机油冷却器行业投资前景与发展战略研究报告2022-2028年
  2. 全球及中国N95级医用防护口罩市场销售规模与产量需求预测报告2022版
  3. 中国厨房家具行业消费需求调查与品牌格局分析报告2022版
  4. 全球及中国自卸车行业深度分析与“十四五”发展战略规划研究报告2022-2028年版
  5. vs2005制作安装包(自动安装.net framework 2.0)(小寿原创)
  6. vue-cli3.0 Typescript 项目集成环信WebIM 群组聊天
  7. OpenStack之Keystone模块
  8. 4header组件开发
  9. Office HPDeskjetD2468 打印机电源灯闪烁不停,打印机不工作怎么办
  10. 新闻资讯APP开发流程(八)-- ContentView.js