paddlepaddle七日训练营大作业遇坑笔记

1.第一个坑是数据的爬取
目标网站链接](https://www.iqiyi.com/v_19ryjgbjh8.html#curid=15303652400_1862c50c07a916033e2032c20cabcf52)
打开页面检查找不到url信息,以我拙劣的爬虫技术,立马意识到可能碰上了硬茬子,果然,试了一天,失败了。paddlepaddle七日训练营大作业遇坑笔记_第1张图片
晚上听了老师的讲解之后,才发现了要点所在。操作如下:
首先检查页面,点击Network,滑动主页面“查看更多评论”,你会发现Name会不断有东西蹦出来,那么自己要找的评论一定在这里。查看response和preview,发现评论就在下面那个文件里(灰色的那个)

paddlepaddle七日训练营大作业遇坑笔记_第2张图片
为了便于观察,点击Filterhe和js,查看更多评论,你会发现不断有这个文件蹦出来paddlepaddle七日训练营大作业遇坑笔记_第3张图片
观察这些url有什么规律,下图是两个url的截图(忘了说url就在Headers中),观察发现只有last_id和call_back发生改变,经过试验,仅用last_id就可以定位到评论,last_id后面的可以去掉。last_id的话主要是达到一个翻页的作业,只需要把本次查询到的最后一个评论的用户的id赋值给last_id就可以实现查询下一页的评论了。

paddlepaddle七日训练营大作业遇坑笔记_第4张图片
paddlepaddle七日训练营大作业遇坑笔记_第5张图片
代码如下:

 url="https://sns-comment.iqiyi.com/v3/comment/get_comments.action?agent_type=118&agent_version=9.11.5&business_type=17&content_id=15068699100&page=&page_size=10&types=time&last_id="

    url+=str(lastId)
    print(url)
    responseTxt=getMovieinfo(url)
    responseJson = json.loads(responseTxt)
    comments = responseJson['data']['comments']
    for val in comments:
        #print(val.keys())
        if 'content' in val.keys():
            print(val['content'])
            arr.append(val['content'])
        lastId = str(val['id'])
    return lastId

2,第二个坑,中文显示
paddlepaddle七日训练营大作业遇坑笔记_第6张图片
查询代码发现下载中文字体的网站挂球了,为此只能自己找,还好之前作业还保留字体文件),然后导入之后再运行下列代码,问题解决。

	#下载中文字体
	wget https://mydueros.cdn.bcebos.com/font/simhei.ttf 
	#在操作系统中创建字体目录fonts(可能已经有
	mkdir .fonts
	# 复制字体文件到该路径
	cp simhei.ttf .fonts/
	#复制字体到当前使用的conda环境中的matplotlib下的指定路径
	cp simhei.ttf /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/
	# Linux系统默认字体文件路径
	ls /usr/share/fonts/
	# 查看系统可用的ttf格式中文字体
	fc-list :lang=zh | grep ".ttf"
	 # 设置显示中文
    matplotlib.rcParams['font.family'] = ['SimHei']
    # 解决负号'-'显示为方块的问题
    matplotlib.rcParams['axes.unicode_minus'] = False

在此过程中参考了一位同学的博客:
https://blog.csdn.net/yinyiyu/article/details/105778673

你可能感兴趣的:(paddlepaddle七日训练营大作业遇坑笔记)