1.写爬虫博客的背景
这两天对机器学习产生了兴趣,学习中有网友问我爬取豆瓣影评的问题,并且说在百度上搜的完整代码都不能运行。我好奇也在CSDN上搜了几个类似的完整代码,的确不能运行。我对不能运行的代码进行了分析,至少有以下几种情况:1 作者发布的代码本身有问题,抄转的多;2 爬和反爬是矛和盾的关系,时过境迁、headers、cookies不一样也会爬不成功;3 爬虫对初学者是个费时劳神的活,很多坑在等着你,有一丝差错就达不到效果;4 借鉴网上的代码,必需消化吸收,才能为我所用,复制过来就用的代码找不着。鉴于以上情况,我把自己学习的过程发上来供网友练练手。主要想法是:发布的完整代码复制后除个别缩位或网友对照说明简单调试后就能用,需要进一步完善的交给网友或我今后更新。
2 实现的主要功能
2.1显示豆瓣首页上最新电影id和名称列表
2.2 显示上述列表中某个(如龙猫)电影前10页影评
2.3 显示某个(如龙猫)电影评论热词统计
2.4 某个(如龙猫)电影评论热词生成词云
3 使用前需要安装的第三方库
import jieba
import re
import matplotlib.pyplot as plt
from urllib import request
from bs4 import BeautifulSoup as bs
from wordcloud import WordCloud
3 完整代码共有5个函数组成:
def main() 主函数
def getNowPlayingMovie_list() 解析网页函数,列出豆瓣最新电影的id和名称
def getCommentsById() 拟爬取电影的评论函数
def DataClean() 影评数据清洗函数
def WordFrequency(words) 影评热词统计函数
def Word_Cloud() 影评热词词云函数
4 爬取思路
4.1分析网页数据
4.1.1打开首页