用Python写一个简单的爬虫

本demo使用python来爬取淘票票热门电影的相关信息
代码如下:
用Python写一个简单的爬虫
用Python写一个简单的爬虫
1.首先需要安装python环境,直接下载python安装即可

2.这里需要用到requests模块和PyQuery模块,使用 pip install 模块名 安装即可,如果下载过慢或出现错误可以从清华大学镜像拉取安装:使用
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 模块名 安装即可

  1. 代码解释:
    函数 get_one_page 获取要爬取网页的html代码
    有些网站的请求可能需要headers参数才能正常访问,所以在请求的时候加上headers的User-Agent参数即可。
    首先尝试使用requests模块去请求要爬取的页面,如果状态码返回200,则返回html页面代码,否则抛出异常

函数 parse_one_page 从html代码里获取有用的相关信息,并返回可保存的数据形式
这里使用PyQuery模块,如果熟悉Jquery,那么这个也容易上手,因为其api基本上和Jquery是一样的,使用此模块获取相关数据是很方便的,就像操纵DOM一样,如果使用正则表达式(re模块),就没有那么简单直观了,也不好理解,容易出错。使用PyQuery获取完成之后,使用循环,每循环一次返回一个字典结构,里面定义了相关键名用来保存爬取的对应内容

函数 write_to_file 把爬取的数据以文本的形式保存到本地,这个函数没太多说明的,熟悉python I/O相关api即可,另外里面使用了json模块,将传入的内容以json字符串的形式保存

函数 main 为主函数 其中:url为要爬取的目标网页,li为一个列表,我们循环parse_one_page返回的结果,将每条数据插入li列表,然后将li传入write_to_file函数,最终会返回一个标准json字符串,即一个数组里面包含多个对象的形式,以便他人使用

最后在入口执行主函数,就能得到想要的结果了

总结:python用来写爬虫是很方便的,整个小demo只使用了60行不到的代码就能完成爬取功能。除此之外,python的语法跟javascript语法比较接近,如果熟悉js的,那么学习python也是比较容易的。