用Python实现一个面向主题的网络爬虫程序,并完成以下内容:(注:每人一题,主题内容自选,所有设计内容与源代码需提交到博客园平台)
一、主题式网络爬虫设计方案(15分)1.主题式网络爬虫名称
瓜子二手车网站数据爬取2.主题式网络爬虫爬取的内容与数据特征分析
品牌、车型、年月、公里数、售价
爬取内容:基本参数、发动机参数、底盘及制动、安全配置、外部配置、内部配置3.主题式网络爬虫设计方案概述(包括实现思路与技术难点)
爬取瓜子二手车数据实现思路:使用requests库爬取数据、生成所有需要抓取的URL,对所有目标链接进行数据抓取,存储数据
爬取瓜子二手车数据技术难点:瓜子二手车网运用的反爬虫措施主要有js混淆,根据发送的原始header和js混淆生成特定的cookie才能访问到网站。deal_head.py处理的数js混淆和生成特定的header。原始header的user-agent必须是使用电脑相同的平台(windows、linux),不一致返回不了有效的cookie。
二、主题页面的结构特征分析(15分)1.主题页面的结构特征
2.Htmls页面解析
主题页面为瓜子二手车网站宝马检索结果的HTML代码,需要的信息保存在carlist选择器属性的标签中
页数内容在该结构中,以此分析如何按页爬取所需要的数据
3.节点(标签)查找方法与遍历方法(必要时画出节点树结构)
→
三、网络爬虫程序设计(60分)爬虫程序主体要包括以下各部分,要附源代码及较详细注释,并在每部分程序后面提供输出结果的截图。1.数据爬取与采集
5.数据持久化
数据导出为CSV文件实现数据持久化操作
6.附完整程序代码
四、结论(10分)1.经过对主题数据的分析与可视化,可以得到哪些结论?
在瓜子二手车网站中行驶5到10万公里里程的车所占比例最多为53.7%,车的里程数与二手价格成反比,瓜子二手车网站提供给用户的数据较多,有车型,行车价格,二手车价格,里程数,上牌日期等。2.对本次程序设计任务完成的情况做一个简单的小结。
让我更加熟悉python的诸多爬取方法,让我认识到了BeautifulSoup以及matplotlib爬取的可靠性,应对瓜子二手车网站的防爬手段我也试过多种方法找到了用js混淆,根据发送的原始header和js混淆生成特定的cookie访问到网站进行爬取。