智能采集组合文章(谷歌网络爬虫的本质一种)

优采云 发布时间: 2021-11-17 10:19

  智能采集组合文章(谷歌网络爬虫的本质一种)

  网络爬虫之所以被称为爬虫,是因为它们可以沿着网络爬行,本质是一种递归的方法。为了找到URL连接,他们必须首先获取页面的内容并检查页面的内容。查找另一个 URL,获取该 URL 的内容,并重复该过程。

  1. 遍历单个域名

  from urllib.request import urlopen

from bs4 import BeautifulSoup

import datetime

import random

import re

#使用时间产生随机数

random.seed(datetime.datetime.now())

#定义getlinks函数,遍历页面生成link函数序列

def getLinks(articleUrl):

html = urlopen("http://en.wikipedia.org"+articleUrl)

bsObj = BeautifulSoup(html)

return bsObj.find("div", {"id":"bodyContent"}).findAll("a",href=re.compile("^(/wiki/)((?!:).)*$"))

#主函数,传入参数/wiki/Kevin_Bacon,定义首页

links = getLinks("/wiki/Kevin_Bacon")

#使用随机数随机选择一个link进行爬行

while len(links) > 0:

newArticle = links[random.randint(0, len(links)-1)].attrs["href"]

print(newArticle)

links = getLinks(newArticle)

  2.采集整体网站

  

  以上程序主要分为三部分: 1. 定义页面为空集合

  2.定义一个函数:

  3. main函数处理一个空页面,其实就是维基百科的首页,然后调用getlink函数遍历页面上的每个链接。

  注意:上面的程序是一个递归程序。python默认递归层数为1000次,达到次数后停止。我们可以写一个非递归的程序,可以将所有新的页面加入到集合中,每次我们从集合中随机抽取一个页面进行遍历、删除,然后随机抽取一个页面。当然,如果页面太多,可能会造成采集。太大了,你可以用聪明的方法来解决问题。

  3.通过互联网的数据采集

  可以说,你可以用你的电脑和一个python代码构建一个谷歌——当然是1994年的谷歌。谷歌最宝贵的资源是它存储在世界各地的*敏*感*词*数据仓库。这是无数谷歌爬虫日以继夜的结果。但是,现有网络世界中还有90%的网络资源是谷歌爬虫没有达到的。有兴趣的可以了解一下深网和暗网。

  4.对数据使用scrapy采集

  看:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线