这两天在学习python爬虫,有了一些对爬虫的理解和心得。学习的时候在网上查过许多资料,但是由于自己是小白,所以学的时候总是觉得网上的例子不够实在,对我来说有点难懂。然后这段时间学了爬虫之后,也成功实现了几个实例,有了一些理解、思路和方法。为了能够帮助更多的初学者快速入门简单的爬虫,写下这篇文章希望可以对大家有帮助。
这篇文章我主要是通过分享一个实例,来帮助大家理解爬虫的概念、html信息获取方法、如何用xpath定位和获取html内容,以及保存爬到的信息到excel表格。
本文的任务:获取京东surface pro 7第一页显示的所有商品的名称、链接、价格和店铺名称(例子用到的网址点这里),并保存到excel表格中。
本文分成以下几个部分:
- 爬虫是个啥?
- 我要在上面那个链接里完成获取商品信息这个任务,我要怎么做(分几个步骤)?要用到什么工具(一些python包)?
- 首先,我想先说下我对爬虫的理解。我们可以将爬虫看成一个复制粘贴工具,它是在我们浏览一个网页时,代替我们人工去对网页上展示的部分信息进行复制和粘贴到本地的一个工具。(比如我浏览京东的时候,特别想把全部的商品名称和价格复制下来,然后整理到一个excel上,但是一般一个页面有30个商品,手动复制粘贴太慢了,那么爬虫就可以帮你把这些特定的信息自动复制下来,你所要做的就是设定复制的规则即可)
- 要完成一个爬虫的任务(本文任务为例),可以分成以下几个步骤:
- 爬取整个网页信息:
- 你需要获得网址的html信息(浏览器按F12可以查看),因为你看到的整个页面的所有内容都保存在html信息里(自然也包括我们要的所有商品信息):
from
- 从爬取到的整个网页信息中筛选出你想要的信息(用xpath路径获取):
获取信息有许多方法,有用BeautiSoup定位信息的、有用re正则表达式的,还可以用xpath定位路径的。试了一圈下来,我个人觉得还是xpath路径方便,也比较适合我(正则表达式太复杂了我完全记不住)。主要是xpath路径浏览器就可以直接获得,比如下图找到价格后,只要右键就可以查看价格所在的完整xpath路径了。
# 由于这个例子是只爬取单个页面,所以直接看下页面有多少个商品,进行循环查找就行
# 如果是要爬取多个页面,则可以再用一个循环来修改url页面参数
# 比如豆瓣电影top250