Python爬虫(一)
一、使用pip管理Python包
1.pip install 安装指定包
2.pip uninstall 卸载指定包
3.pip list 显示已经安装的包
4.pip freeze显示已经安装的包以及版本
[注]:修改pip下载源
二、Python文件访问模式
三、文件序列化与反序列化
1.序列化
(1)dumps的使用
import json
fp = open('test.txt','w')
name_list = ['zs','ls']
#序列化
#1.json.dumps()将Python对象变成json的字符序列
names = json.dumps(name_list)
print(type(names))
fp.write(names)
fp.close()
(2)dump的使用
在将对象转换为字符串的同时,指定一个文件对象将转换后的字符串写入到文件中
import json
fp = open('test.txt','w')
name_list = ['zs','ls']
json.dump(name_list,fp)
fp.close()
2.反序列化
(1)loads的使用
## 反序列化
# 将json字符串变成一个Python对象
fp = open('test.txt','r')
content = fp.read()
# print(content)
import json
# 将json字符串变成python对象
resoult = json.loads(content)
print(resoult)
print(type(resoult))
(2)load的使用
fp = open('test.txt','r')
import json
resoult = json.load(fp)
print(resoult)
print(type(resoult))
fp.close()
四、互联网爬虫
啥是爬虫:1.通过一段程序,根据Url进行网页爬取,获取有用信息;2.使用程序模拟浏览器,去向服务器发送请求,获取响应信息。
五、urllib的基本使用
1.获取百度网页的全部源码
# 使用urllib获取百度首页的源码
import urllib.request
# 1.定义url
url = 'http://www.baidu.com'
# 2.模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)
# 3.获取响应中的页面源码
# read()方法 返回的是字节形式的二进制数
# 将二进制数转换为字符串
# 二进制 ——》字符串 解码 decode('编码的格式')
content = response.read().decode('utf-8')
# 4.打印内容
print(content)
2.一种类型和六种方法
import urllib.request
url = 'http://www.baidu.com'
# 模拟浏览器向服务器发送请求
response = urllib.request.urlopen(url)
# 一个类型和六个方法
# response是HTTPResponse类型
# print(type(response))
# 一、read()方法
# 1.按照一个字节为单位读取
content = response.read()
print(content)
# 2.只读X个字节 read(X)
content = response.read(5)
print(content)
# 二、readline()方法 读取一行
content = response.readline()
print(content)
# 三、readlines()方法 以行为单位读取,直至读完
content = response.readlines()
print(content)
# 四、getcode()方法
# 返回状态码,若是200则表示逻辑正确
print(response.getcode())
# 五、geturl()方法
# 返回url地址
print(response.geturl())
# 六、getheaders()方法
# 获取状态信息
print(response.getheaders())
3.urllib下载资源
import urllib.request
# 1.下载网页
url_page = 'http://www.baidu.com'
# url代表下载的路径 filename 代表文件的名字
# 在python中可以写变量的名字,也可以写值
urllib.request.urlretrieve(url_page,'baidu.html')
# 2.下载图片
url_img = 'https://tse1-mm.cn.bing.net/th/id/OIP-C.zgBWxADXwdw-seRK5cLy-wHaMR?w=194&h=321&c=7&r=0&o=5&dpr=1.5&pid=1.7' urllib.request.urlretrieve(url=url_img,filename='img.jpg')
# 3.下载视频
url_video = 'https://kn-cdn.codemao.cn/creation/lesson/4_kitten_public/lesson01.mp4'
urllib.request.urlretrieve(url_video,'video.mp4')