爬虫:
获取网路数据(通过各种互联网产品公开的数据)
数据来源:网站对应的网页,手机app
爬虫过程:
1.获取网络数据(requests,selenium)
1.1浏览器伪装
1.2登录反扒
1.3代理ip
2.解析数据:(从获取到的网络数据中提取有效数据):正则表达式,基于 css选择器的解析器(bs4),基于xpath的解析器(lxml)
3.保存数据:csv(excel)数据库等
爬网页 htmi,css(选择器)
requests —— python’获取网络数据的第三方库(基于http或者http协议的网络请求)
爬虫使用requests的两个场景:直接请求网页地址,对提供网页数据的数据接口发送请求
import requests
requests 基本用法
requests。get(网页地址)——获取指定页面的数据返回一个响应对象
f = requests.get('https://www.qidian.com/')
print(f)
# 获取响应的状态码
print(f.status_code)
if f.status_code == 200:
pass
# 获取响应头
print(f.headers)
# 请求内容(返回的真的有用的数据)
"""
response.coutent——二进制类型的数据(图片,视频,音频,例如:图片下载)
.text——字符串类型数据(网页)
.json()——对请求内容做完json解析后的数据(json数据接口)
"""
print(f.text)
认识前端
前端开发:写各种互联网产品界面(电脑端应用程序除外)
前端开发相关技术:html,css,js,(原生js,jQuery,vue,React)
html:负责网页内容
css:负责网页内容的样式和布局
js:负责网页内容变化
html是标签为单位来给网页提供内容,不同的标签可以提供不同的内容
标签语法:
(单标签):<标签名 属性名1=属性值1 属性名2=属性值2…>或者<标签名 属性名1=属性值1 属性名2=属性值2…/>
( 双标签):<标签名 属性名1=属性值 属性名2=属性值2…>标签内容</标签名>
css负责网页内容的样式(让网页变得更好看)
语法:
选择器{属性1:属性值1;属性2:属性值2…}
选择器:选中需要添加样式的标签
元素选择器:将标签作为选择器,选中所有指定的标签
p{}:获取所有为p的标签
a{}:获取所有为a的标签
id选择器:在id属性值前加#作为一个选择器,选中id属性值为指定值的标签
每一个可见的标签都可以设置id属性,并且一个页面中,同一id值只有一个标签
class选择器:在class属性值前加.作为一个选择器,选中class属性值为指定值的标签
不同标签可以有相同的class值;同一个标签可以有不同的class值
.c1 :获取class值为c1的标签
p.c1:获取class值为c1的p标签
.c1.c2:获取class值同时为c1c2的标签
群组选择选择器:将多个选择器用逗号隔开作为一个选择器
p,a{}:选择所有的p标签和所有的a标签
#p1,c1,p{}:选择id为p1的标签和class为c1的标签以及所有的p标签
子代选择器:多个选择器用>隔开作为一个选择器
div>p{}:
后代选择器:多个选择器用空格隔开作为一个选择器
civ p{}: