day03 python基础

python学习:

一:爬虫原理
二:Requests请求库

一:爬虫原理
1.什么是互联网
  互联网其实是由一堆网络设备(比如: 网线、路由器、交换机、防火墙等等...)
与一台台的计算机连接而成,就像一张蜘蛛网一样。
2.互联网建立的目的
互联网建立的目的是为了数据的传递以及数据的共享
3.上网的全过程
上网其实指的是有用户端(客户端)的计算机向目标计算机发送请求,将目标计算机的数据下
载到客户端计算机的过程。

普通用户获取数据的方式:
浏览器提交请求 ---> 下载页面代码 ---> 解析/渲染成页面。

爬虫程序获取数据的方式:
模拟浏览器发送请求 ---> 下载页面代码 ---> 只提取有用的数据 ---> 存放于数据库中或文件中。

普通用户与爬虫程序的区别:

普通用户: 普通用户是通过打开浏览器访问网页,浏览器会接收所有的数据。

爬虫程序: 爬虫程序只提取网页代码中对我们有价值的数据。
4.什么是数据
例如:淘宝,京东商品信息
东方财富。雪球网的一些证券信息
链家,自如等房源信息
12306的票务信息
5.浏览器发送的是什么请求
http协定的请求
-客户端
浏览器
-服务端
https://www.jd.com/
www.jd.com(京东的域名)——>DNS解析——>京东的服务器的IP 和 端口
http+ssl://www.jd.com/
客户端的ip和端口——》服务端的IP和端口发送请求可以建立链接获取相应的数据
6.爬虫的全过程
-发送请求 (需要请求库:Requests请求库,Selenium请求库)
-获取响应数据 (只要往服务器发送请求,请求通过后会返回响应数据)
-解析并提取数据 (需要解析库:re, BeautifulSoup4, Xpath...)
-保存到本地 (文件处理, 数据库 ,MongoDB存储库
)
二:Requests请求库
一:
二:
三:抓包分析
打开浏览器的开发者模式(检查)——》选中network
找到访问的也米娜后缀:xxx.html(响应文本)
1)请求url(访问的网站地址)
2)请求方式
GET:
直接发送请求获取数据
https://www.cnblogs.com/kermitjam/articles/9692597.html
POST:
需要携带用户信息往目标地址发送请求
https://www.cnblogs.com/login
3)响应状态码:
2xx:成功
3xx:重定向
4xx:找不到资源
5xx:服务器错误
4)请求头信息:
User-Agent:用户代理(证明是通过电脑设备及浏览器发送的请求)
Cookies:登录用户真实信息(证明你目标网站的用户)
Referer:上一次访问的url(证明你是从目标网站跳转过来)
5)请求体:
POST请求才会有请求体
Form Data
{
'user':'tank',
'pwd':'123'
'''
#import requests
# #导入requests请求库
# response = requests.get(url="https://daohang.qq.com/?fr=hmpage")
# #设置字符编码为 utf-8
# response.encoding = "utf-8"
# #打印文本
# print(response.text)
# #把相应文本写入文本文档
# with open("qq.html","w",encoding="utf-8") as f:
# f.write(response.text)
#爬梨视频
# video_url = "https://v.qq.com/x/cover/4s77qwpsgcoa2ay/e0031srzbq4.html"
# #打印二进制流图片,视频等数据
# response = requests.get(url=video_url)
# print(response.content)
# with open("海阔天空.mp4", "wb") as g:
# g.write(response.content)

'''
四:
爬取豆瓣电影
.;从当前位置开始
*:查找所有
?:找到第一个不找
.*?:非贪婪匹配
.*:贪婪匹配
(.*?):提取括号内的数据
排名,电影url, 电影名称,导演-主演-类型,电影评分,评价人数,电影简介
'''
#爬取一组视频
import requests
import re
#前往梨视频主页发送请求
response = requests.get("https://www.pearvideo.com/")
print(response.text)
#re 正则匹配获取所有视频
# 参数一:正则匹配规则
# 参数二:解析文本
# 参数三:匹配模式
res_list = re.findall('print(res_list)

#p拼接每一个视频详情页url
for v_id in res_list:
detail_url = "https://www.pearvideo.com/video" + v_id
#print(detail_url)

#对每一个视频详请页发送请求视频 频源url
response = requests.get(url = detail_url)
python爬虫三部曲:
# '''
# http
# 1.发送请求
# 2.解析数据
# 3.保存数据
# 四:
# 爬取豆瓣电影
# .;从当前位置开始
# *:查找所有
# ?:找到第一个不找
# .*?:非贪婪匹配
# .*:贪婪匹配
# (.*?):提取括号内的数据
# 排名,电影url, 电影名称,导演-主演-类型,电影评分,评价人数,电影简介
# '''

import requests
import re

#爬虫三部曲
# 1.发送请求
def get_page(base_url):
response = requests.get(base_url)
return response

# main+回车键

# 2.解析文本
def parse_index(text):

res = re.findall('

转载于:https://www.cnblogs.com/Giannis/p/11094412.html

你可能感兴趣的:(爬虫,数据库,python)