1、前言
学习Python二个多月啦,周末时开始兴趣学习爬虫,虽然有点概念,但是也折腾了大半天,下面就开始简要记录一下吧。
2、需要的准备
- Python:需要基本的python语法基础
- requests:专业用于请求处理,requests库学习文档中文版
- lxml:其实可以用pythonth自带的正则表达式库re,但是为了更加简单入门,用 lxml 中的 etree 进行网页数据定位爬取。
通过pip安装 requests 和 lxml 库,在终端输入:
1 | pip install requests |
注:如果是安装到Python3就用pip3 install
下载过程成功的输出:
1 | Collecting lxml |
- 注:
如果安装过程遇到任何问题,请谷歌吧,如果网上找不到答案,也不要问我!找不到答案我直播吃翔!!!
3、实践过程
为了这过程有点兴趣,我找了一个美图的网站,爬虫了一波图片~
实践爬虫的网站链接:https://www点aitaotu点com(注意,这不是打广告!)
- 下载页面html内容:
1 | page = 'https://www点aitaotu点com/guonei/36350.html' |
- 解析(定位)元素:
1 | title_path = '//*[@id="photos"]/h1/text()' |
这里的xpath怎么获取,就是网页里面,打开开发者检查元素工具,在safari和chrome都有这个功能:
- 获取元素内容:
1 | title = dom.xpath(title_path)[0] |
这里解析就不解析了,其实通过PyCharm IDE可能实时查看每个对象的属性,可以更清晰的了解解析的元素结构,帮助理解,这里就暂时不说IDE的方法啦,大家有兴趣可以试试,也是很简单的~
最后拿到图片链接,就是下载图片然后保存输出到电脑啊!(文章尾附完整代码!)
4、总结
爬虫入门就这样结束啦!学习了python后,发现语法很简单,代码很轻松就完成!不到100行!!!
python通过各种库,解决了编程语言自身的庞大,完成了自己是胶水语言的特点!
通过这次实践,其实,有很多细节东西,只有自己做了才知道,比较说保存图片的路径,找到当前目录,怎么分目录保存,目录文件操作,这些都是自己之前实践了一个django工具学习过来的。所以,现在经历多了,才知道,什么时候学习都不晚,有些东西,真的是不知道什么时候你会用上,真的,自己早知道这个道理几年,就不像年轻时那么想,这东西怎么可能会用上,不学!!!果然是年轻坑爹!!!学会老,学到老吧!
5、代码
1 | #!/usr/local/bin/python3 |
代码就没有太多注释,因为很简单,就说一下运行方式吧,在终端:
python2:
1 | python YellowImage.py |
python3:
1 | python3 YellowImage.py |
最后的成果:
6、参考
- Python教程 - 廖雪峰的官方网站
- Requests: 让 HTTP 服务人类 — Requests 2.18.1 文档
- Beautiful Soup 4.2.0 文档
- 正则表达式30分钟入门教程
- 在线正则表达式测试
- lxml - Processing XML and HTML with Python
- Python lxml教程 | 卡瓦邦噶!
- 非结构化数据之lxml库 · 网络爬虫教程
- 如有疑问,欢迎在评论区一起讨论!
- 如有不正确的地方,欢迎指导!
> 注:本文首发于 [iHTCboy's blog](https://iHTCboy.com),如若转载,请注来源