工具:
Python3+Pycharm+Chrome
使用到的模块:
(1)requests:用来简单数据请求。(2)lxml:比BeautiSoup更快更强的解析库。(3)pandas:数据处理神器。(4)time:设置爬虫访问间隔。(5)random:生成随机数,配合time使用。(6)tqdm:显示程序运行进度。
步骤:
1、打开豆瓣电影《我不是药神》的短评网页,右键检查或者按F12,然后选择用户名和评论就会显示出对应的代码部分
2、通过requests模块发送一个get请求,并以utf-8重新编码;然后添加一个交互,判断是否成功获取到资源(状态码为200),输出获取状态。对于爬取下来《我不是药神》的短评内容,我们用lxml来进行解析。在步骤1中找到对应部分的代码,然后右键选择Copy,再选择Copy XPath,就能获取其路径了。爬取下来的短评首尾可能有多余的空格,我们就需要使用字符串中的strip()方法来去掉这些多余的空格。
获取用户名和短评的代码如下:
3、获取到数据之后,我们通过list构造dictionary,然后通过dictionary构造dataframe,并通过pandas模块将数据输出为csv文件,代码如下:
运行截图:
这里我们爬取了十页短评的用户名和内容,借助tqdm模块就能够清晰地看到我们爬取的进度。
部分短评截图: