网页数据抓取怎么写(如何写好Python数据我用的是Python?(上) )
优采云 发布时间: 2022-01-01 00:16网页数据抓取怎么写(如何写好Python数据我用的是Python?(上)
)
最近发现数据在很多情况下变得越来越重要,我们经常发现一个网页上有大量我们想要的数据,但是一个一个下载太费力了。这时候就可以写一些简单的爬虫软件来帮助我们从网上抓取我们想要的数据
我使用 Python。这种语言比较简单。已经编写了很多工具包,可以直接使用。
开始---------------------------------------------- ----------
假设我们找到一个比较全面的信息网站,比如39养老网:
/findhomes/
点击打开任意一家养老院,如上海上大天平养老院
我们想要获取有关此网站的所有疗养院信息,例如名称、地址、机构性质等。
所需工具:
苹果或ubuntu操作系统,用windows的同学可以用虚拟机,推荐VMWARE Workstation
使用的语言是Python 2.x,软件包需要美汤,请求,可以使用pip install安装
编程---------------------------------------------- --------------------
首先,一般像这些网站页面和页面之间的URL都会有一些相似之处,比如这个网站,如果你点击第二个页面,可以看到它的URL 是的
/findhomes/list_0_0_0_0_0_0_0_0_0_0_2.htm
第三页是
/findhomes/list_0_0_0_0_0_0_0_0_0_0_3.htm
可以看到是最后一个数字决定显示哪个页面
经过尝试,我发现这个网站总共只有63页;这也说明我们可以写一个简单的for循环来快速访问每一页
知道如何翻页后,我们需要从当前页面找到各个养老院的链接
打开这个页面的html代码(每个预览器的打开方式不同)
我们看到一个类似的页面
/r/uXV0bFvEdQYKrR8P9yCr(自动识别二维码)
chrome 预览器在控制台的左上角有一个检查元素工具
我们可以用它在页面上找到我们感兴趣的部分
使用inspect工具点击第一家养老院的信息,我们会发现html会显示相关的html信息
href表示这个网页点击链接后会跳转到的url,我们点击“上海上大天平疗养院”稍后发布
网址是/findhomes/tianping.htm
页面跳转到养老院信息页面
当前总结:目前我们知道如何使用程序在网站上翻页,以及如何找到各个养老院的链接链接,我们来看看代码输入
代码第一步:导入相关的python库
我们需要的其实只是bs4的BeautifulSoup,和requests
第二部分代码:从每个页面链接中抓取相关页面上的养老院
我上面说了,我们知道这个网站目前只有64页,所以我们可以写一个for循环,循环64次;
getLink的代码如下:
<p>i 是一个整数,getLink 会返回给我们对应的页面 url,例如 i=1 时,getLink 会返回第一页,i=2 时会返回第二页