Python爬虫极简教程

最开始接触的是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

会自动打开浏览器


点击new
点击python3


在光标处出入代码,shift+enter运行


使用requests

         使用 requests.get('url') 来获取网站信息


获取baidu.com的html文档

出现了乱码,因为html中 默认时候utf-8的字符集,python中默认是ISO-8859-1.



encoding可查看编码方式


python 从url 读取 text 文档 将其解析为 ISO-8859-1,所以只要将python的编码设置为utf-8

就可以得到正确编码的 html 文档

res.encoding = 'utf-8'

使用BeautifulSoup4


解析DOM得到文本结点

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地的包裹,再一次扫描找到了装到新的篮子里。

最终结果


总结

凡事躬行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容