你遇到过这样的问题吗?网页里有上百个网址链接,需要你去数。你会把它们一个个粘贴复制到表格里吗?
或者统计公司潜在客户的邮箱,需要通过关键词搜索,然后点击每一页,了解是否有邮箱。
对于这种大批量的重复性工作,难道没有更好、更快、更简单的解决方案吗?
当然有。今天这篇文章就和大家分享一下——如何用简单的爬虫解决大量重复性的工作。
然而,在进入教程之前,我们应该谈谈:
什么是爬行动物?
简单来说,爬虫就是一种网络机器人,主要功能是收集网络数据。我们熟悉的Google、百度等搜索引擎,通过爬虫收集网站的数据,并根据这些数据对网站进行排序。
既然Google可以用爬虫收集网站数据,那么我们是否可以用爬虫帮助我们收集数据呢?
你当然可以。
我们能对爬行动物做什么?
如前所述,如果遇到大量重复性的工作,其实可以交给爬虫,比如:
收集特定关键词下的用户邮箱,批量收集关键词,批量下载图片,批量导出导入文章...
举个例子,如果我想搜索与iphone case相关的用户邮箱,我可以去Google搜索关键词iphone case,然后统计相关网页,把网址提交给爬虫程序,然后我们就等结果了。
当然,创建一个具体的爬虫程序需要一定的技术基础。市面上制作爬虫程序的主流是python,但是今天我们用一个更简单易懂的爬虫软件——Google Sheet,不用写任何代码!
用Google Sheet抓取数据
Google sheet(以下简称GS)是Google的在线办公套件之一,它与微软的三剑客有着一一对应的关系:
谷歌文档Word谷歌工作表Excel谷歌演示文稿PPT
基本上,Excel中的所有公式都可以在GS上运行,但GS需要另一个公式,而Excel没有,即
导入XML
我们新建一个GS,和Execl的操作一样,然后在A1列输入我们需要抓取数据的URL。记住网址必须包含https或者http,只有这个完整的写法才会生效。
然后在B1栏中输入。
=importxml(A1,"//title ")
在B1栏中输入完成后,我们将得到以下数据。
这样就获得了网站的SEO标题。
SEO Title出现在每个浏览器窗口的标签页中,也是网站呈现给Google搜索引擎的第一个登陆点,包含了网页的关键词等重要信息。
接下来,我们在C1列中输入以下公式:
=IMPORTXML(A1,"//meta[@ name = ' description ']/@ content ")
然后我们得到网页的元描述。
我们可以看到刚刚收集的两个信息是Google SERPs中非常重要的两个元素,标题和描述。基本上要做好站点内的SEO,这两点都要做好。
批量抓取网页SEO信息
根据上面两个公式,我们在A1B1C1列分别输入网址、标题、描述,然后A列就填好了我们要爬的网址。B列和C列使用Excel的复制下拉选项,即鼠标出现在C1列的右下角后,下拉鼠标,C列的其他列会自动填入C1的公式:
然后我们得到了所有网站的标题和描述。
统计完这些数据,我们就再也不用担心SEO标题怎么写了。
如果你想爬上整个网站的标题和描述,你可以把所有竞品的网站都放上去。至于如何获取整个网站的链接,可以去查网站的sitemap.xml,在那里可以找到一个网站的所有链接。
了解公式结构
既然importxml可以批量抓取SEO标题,那么它也可以抓取其他内容,比如邮箱地址和链接地址。我们先分析一下公式结构:
=IMPORTXML(A1,“默认”)
A1表示列,default表示需要爬取的页面的内容结构,所以我们只要修改默认值就可以爬取更多的信息。在这里,我们将向您展示SEO和统计信息中常用的值。
站内链接,其中domain.com被替换为要计算的域名。
//a[contains(@href,' domain.com')]/@href
异地链接,其中domain.com被替换为要统计的域名。
//a[not(包含(@href,' domain.com'))]/@href
邮箱统计信息:
//a[包含(@href,' mailTo:')或包含(@href,' mailto:')]/@href
社交链接,包括linkedin,fb,twitter。
//a[包含(@href,' linkedin.com/in' ')或包含(@href,' twitter.com/' ')或包含(@href,' facebook.com/')]/@href
如果想了解更多可以使用的爬虫公式,可以参考Google官方文档。
https://support.google.com/docs/answer/3093342? HL = zh-Hans
您还可以了解更多关于xpath的知识。
https://www.w3schools.com/xml/xpath_intro.asp