总结:厉害了!实战爬取全网5000部手机|上篇

优采云 发布时间: 2020-09-04 20:42

  太棒了!在实战中在网络上爬行5000部手机|第1部分

  我相信每个人都需要购买手机,那么互联网上有多少个手机品牌?哪款手机具有最高的性价比,最高的评级,最大的屏幕,最好的硬件等,我们都想知道。最好自己爬下整个手机网络,然后慢慢学习。至少在购买手机时可以参考。 文章结合了爬虫,代理和数据库的多种知识,这非常好。

  环境:Python 3. 5

  使用的库:操作系统,重新,随机,时间,sqlite3,请求,BeautifulSoup,泡菜

  使用的工具:Pycharm

  1. 网站分析

  在这里,我们正在爬中关村在线网站。我们必须首先仔细分析目标网站,以确定要使用的技术:

  网页1:手机信息简介页面

  1141273是此红色框中的电话ID

  页面2:手机概述介绍页面

  随意选择手机的连接,然后进入其概述页面

  

  在此页面上,我想获取手机的名称和品牌,以及几种价格(请参阅报价和商人报价),还希望获取图片,参数和评论页面的网址

  

  从以上三张图片可以看出,图片的url结构,参数和查看页面都需要获取1167243(手机ID)之前的数字字符串(pre-id)。第3页:手机参数页面

  

  从图中可以看出,电话具有九个属性(基本参数,屏幕,网络...),大属性对应于几个小属性,小属性对应于特定的内容。我希望在抓取该页面时,构造一个大型的属性字典

  attrs = {'基本属性':{'上市时间':'','移动类型':''),}网页4:移动评论页面

  

  在评论页面上,获取评论者的数量,平均分数和详细分数,好坏块2.程序框架

  对于代码,我们可以使用Py2或Py 3.,因为使用的库都是py2和py3,让我们看一下整个框架图:

  

  1.手机类别

  由于采集的手机信息太多,从手机的价格,品牌,参数,屏幕,网络,硬件,*敏*感*词*,服务支持,评估等方面,不止采集有十几种信息,所以将其封装到类中是一种更好的方法

  

  self.attribute是一个大字典,字典设置字典的数据结构

  2.数据库类

  数据库存储了超过4900部手机的所有信息。为了方便查询和处理,我们设计了12个独立的表,但每个表都以手机ID为键,因此联合查询也非常方便。

  

  查看代码。实际上,该代码类似于我们之前介绍的sqlite3教程

  

  由于数据库的介绍,尤其是SQL语法,我们讨论了很多,因此在这里不再一一赘述。如果您有兴趣,可以看看历史文章(数据库介绍系列文章),以下是基本的手机信息表和得分表两个表

  

  我们从网页中检索数据并将其存储在数据库中。所有数据都是从mobilePhoneList获得的,该列表存储了每部手机的信息。

  

  查看12个表中的电话表:

  

  总共有4921部手机,我突然发现仍然有许多老牌手机仍具有网站的销售结论:

  需要源代码的学生,请留言

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线