Day03 python

       今天是我实习的第三天,今天的学习难度相较于前两天有了很大的提升。不过今天学习的非常有趣,我学习到了如何爬网址,视频,图片。不过感觉难度较大,还没有完全接受。有很多地方没有搞懂。

以下是我的学习笔记:
 
爬虫原理:
什么是互联网?
互联网其实是由一堆网络设备(比如:网线、路由器、交换机、防火墙等等...),把一台台的计算机互联网到一起称之为互联网。
互联网建立的目的?
互联网建立的目的是为了数据的传递以及数据的共享。
什么是数据?
例如淘宝、京东商品信息等...
东方财富、雪球网的一些证券投资信息...
链家、自如等房源信息...
12306
 
上网的全过程:
  —普通用户:
     打开浏览器-->往目标站点发送请求-->获取响应数据-->渲染到浏览器中
  —爬虫程序:
 模拟浏览器-->往目标站点发送请求-->获取响应数据-->提取有价值的数据-->持久化到数据中
 
浏览器发送的是什么请求?
http协议的请求。
 
客户端:
浏览器是一个软件-->客户端的IP和端口
 
服务端:
   https://www.jd.com/
www.jd.com(京东域名)->DNS解析->京东服务器的IP和端口
客户端的ip和端口------>服务端的IP和端口发送请求可以建立链接获取响应数据。
 
爬虫的全过程
     —发送请求   (需要请求库:Requests请求库、Selenium请求库)
     —获取响应数据   (只要往服务器发送请求,请求通过后会返回响应数据)
     —解析并提取数据   (需要解析库:re、BeautifulSoup4、Xpath...)
     —保存到本地   (文件处理、数据库、MongoDB存储库)
 
 
 
二.Requests请求库
安装与使用
打开cmd
输入:|pip3 install requests
 
爬取视频
视频选项:
梨视频
校花网视频
 
    先往梨视频主页发送请求
     https://www.pearvideo.com/
   
     解析获取所有视频的id:
        video_1570302
       
         re.findall()
获取视频详情页
     华为Mate20X获首张5G设备进网许可
https://www.pearvideo.com/video_1570259
 
抓包分析
     打开浏览器的开发者模式(检查)---->选中network
找到访问的页面后缀xxx.html(响应文件)
 
1) 请求url(访问的网站地址)
2) 请求方式:
GET:
直接发送请求获取数据
https://www.cnblogs.com/kermitjam/p/10863916.html
    POST:
需要携带用户信息往目标地址发送请求
https://www.cnblogs.com/login
{
‘user’:’tank’,
‘pwd’:’123’
}
3) 响应状态码:
2xx:成功
3xx:重定向
4xx:找不到资源
5xx:服务器错误
4) 请求头信息:
User-Agent:用户代理(证明是通过电脑设备及浏览器发送的请求)
Cookies:登录用户真实信息(证明你目标网站的用户)
Referer:上一次访问的url(证明你是从目标网站跳转过来的)
5) 请求体:
POST请求才会有请求体。
Form Data
{
‘user’:’tank’,
‘pwd’:’123’
}
import requests

response=requests.get(url='https://www.baidu.com/')
response.encoding='utf-8'

print(response.text)

with open('baidu.html','w',encoding='utf-8')as f:
    f.write(response.text)


import requests

response=requests.get(
    'https://video.pearvideo.com/mp4/adshort/20190625/cont-1570353-14057692_adpkg-ad_hd.mp4'
)

print(response.content)

with open('视频.mp4','wb')as f:
    f.write(response.content)

猜你喜欢

转载自www.cnblogs.com/lishine/p/11094391.html