最开始接触的是c/java,一次偶然的机会接触到Python,用了后只有一个感受。
人生苦短,我用Python
先看一个小成果
用requests, BeautifulSoup4 库爬取的youku视频数据
需要的基础知识:
Html
CSS
DOM 模型
HTTP 协议
安装Python
Python下载地址 推荐下载3.5,在安装时记得勾选path,会自动帮你配置环境变量。
运行Python
运行cmd 打开命令界面进入交互模式,如下
Hello ,World!
交互模式下
安装requests
是一个方便链接网络的库
在命令模式下输入 pip install requests 会自动下载安装
pip是一个Python自带的安装套件
安装BeautyfulSoup4
解析DOM的库
在命令模式下输入 pip install BeautifulSoup4会自动下载安装
安装Jupyter
非常方便Python的Notebook
在命令模式下输入 pip install jupyter 会自动下载安装
安装完成后再命令模式下输入jupyter notebook
会自动打开浏览器
使用requests
使用 requests.get('url') 来获取网站信息
出现了乱码,因为html中 默认时候utf-8的字符集,python中默认是ISO-8859-1.
python 从url 读取 text 文档 将其解析为 ISO-8859-1,所以只要将python的编码设置为utf-8
就可以得到正确编码的 html 文档
使用BeautifulSoup4
1.声明 使用 bs4 中的 BeautifulSoup
2.构建一个html
3.使用BeautifulSoup()去解析html,‘html.parser’是一个html解析器,可以不写,python会自动给你一个,但是会出现警告信息
4.打印 soup.text 也就是html中的文本
结合使用爬取资源
1.进入优酷首页,按F12进入开发者模式
2.确定要爬取的资源
点化红圈的小按钮,点击一个视频,右侧会自动定位到链接的<a>标签
3.观察结构
发现每一个视频都放在div 中 而class属性一定是 p-thumb
通过select('.p-thumb') 得到每个装视频的div
在进一步筛选得到 a 标签的 href 属性 和 title 属性
这就像物流包裹,物流公司有一堆包裹,有上海的,广州的等。现在需要找去北京的包裹,那就去一个一个扫描,找到所有北京的包裹装载一个篮子里。
然后从篮子里找去北京A地的包裹,再一次扫描找到了装到新的篮子里。
最终结果
总结
凡事躬行。