感谢提供素材的同学,无论好坏,高低,我都真心佩服你:参考文章地址:https://mp.weixin.qq.com/s/AXr8BjR_tU-E9YBo-mLVlg
爬虫的定义在这里就不多赘述。不过这里蛮赞同一个的观点:爬虫就是为了让大家可以共享互联网上的信息资源
爬取静态网页
爬取静态网页的思路是蛮简单的,因为是静态的网页,我们完全可以借助语言提供的一些工具去获取网页的源代码,然后在网页的源代码中筛选自己想要的数据,那么一个简单的静态网页的爬取也就完成了。
这里爬取的一个静态网页是京东的一个首页上面的顶部导航栏的数据。
步骤如下:
1. 链接网页获取源代码
在python中,我们使用urllib来链接网页和获取网页源代码
代码:
html = urlopen('http://jr.jd.com')
2. 格式化源代码
前面我们获取的网页源代码只是一个很长的字符串,如果想在字符串上去筛选我们想要的内容,那是一个十分困难和愚蠢的事情。我们必须要借助工具来格式化我们的源代码,然后再从里面提取和筛选我们需要使用的数据。这里我们借助的工具是BeautifulSoup
代码:
bs_obj = BeautifulSoup(html.read(), 'html.parser')
3. 筛选数据
网页源代码中有很多是我们不需要的数据,我们需要的数据只是其中的一部分,因此我们必须得从中筛选出我们需要的数据。
我们筛选数据的方式是采用前端的定位的方式,即用标签,id,class等之类来定位,这样我们就可以确定多条或唯一的数据。我们经过网页源代码的查看方式,发现我们想要的数据都在a标签下class="nav-item-primary"下,
因此我们的代码是:
text_list = bs_obj.find_all("a", "nav-item-primary")
4. 处理数据
接下来就是你对爬取的数据做一个处理了,无论是打印还是存储到数据库中,都是可以的。
整体的代码也不多,在这里直接贴上了:
from urllib.request import urlopen from bs4 import BeautifulSoup html = urlopen('http://jr.jd.com') bs_obj = BeautifulSoup(html.read(), 'html.parser') text_list = bs_obj.find_all("a", "nav-item-primary") for text in text_list: print(text.get_text()) html.close()
如果你对文章还有兴趣:请看下一章:点击打开链接
;