什么是爬虫?

爬虫是一种自动化的网络程序,根据设定的规则,在互联网上抓取和收集信息。这些信息可能包括网页内容、图像、视频、音频等多种形式。爬虫通常用于搜索引擎、数据挖掘、信息处理等领域,帮助人们快速、高效地获取所需的信息。

最常见的爬虫程序,也是大家经常使用的:搜索引擎。每个独立的搜索引擎都有自己的网页抓取程序爬虫。爬虫顺着网页中的超链接,从这个网站爬到另一个网站,通过超链接分析连续访问抓取更多网页。被抓取的网页叫做网页快照。搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。其中,最重要的就是提取关键词,建立索引库和索引。其他还包括去除重复网页、分词(中文)、判断网页类型、分析超链接、计算网页的重要度、丰富度等。用户输入关键词进行检索,搜索引擎从索引数据库中找到匹配该关键词的网页。除了网页标题和URL外,还会提供一段来自网页的摘要以及其他信息。

Selenium爬虫

Selenium爬虫是一种使用Selenium WebDriver编写的爬虫程序。Selenium WebDriver是一种自动化测试工具,可以模拟用户在浏览器中的操作,例如点击、输入、滚动页面等。使用Selenium WebDriver编写的爬虫程序可以实现对目标网站的自动化访问和数据抓取。

相比其他爬虫框架,Selenium爬虫具有以下特点:

  1. 可以模拟用户操作,实现更真实的爬取效果。

  2. 可以访问动态加载的网页内容,例如需要等待JavaScript代码执行完毕的网页。

  3. 可以实现对网页的精细化控制,例如模拟登录、填写表单等操作。

但是,Selenium爬虫也存在一些缺点:

  1. 代码复杂度较高,需要一定的技术水平。

  2. 访问速度相对较慢,不适合大规模的爬取任务。

  3. 容易受到网站的反爬机制限制,需要谨慎使用。

Selenium爬虫实例

曾经公司的内部系统需要跟客户的系统对接,但是客户的系统是外包开发的,且没有开发文档,也没有开发继续维护。我们需要获取客户系统的数据,但是又没有接口可以用,爬虫就是一个不错的选择。

首先就是获取Token。客户系统的登录采用单点登录的模式,如果单纯的通过调用登录接口拿Token,逻辑会很复杂,也会很麻烦。此时我们需要使用Selenium模拟人登录系统,并获取到Token:

  let chromeData = new chrome.Options()
  chromeData.addArguments("--no-sandbox");
  chromeData.addArguments("--disable-dev-shm-usage");
  chromeData.addArguments("--disable-extensions");
  chromeData.addArguments("--start-maximized");
  chromeData.addArguments("--headless");
  chromeData.addArguments("--disable-gpu");

  let By = webdriver.By;
  let driver = new webdriver.Builder()
    .forBrowser('chrome')
    .setChromeOptions(chromeData)
    .build();
  await driver.get('https://xxxxx');
  // 输入账号
  await driver.wait(webdriver.until.elementLocated(By.id('username')), 10000).sendKeys("xxxxxxxx");
  // 输入密码
  await driver.wait(webdriver.until.elementLocated(By.id('password')), 10000).sendKeys("xxxxxxxxx");
  // 点击登录
  await driver.wait(webdriver.until.elementLocated(By.className('login-button')), 10000).click();
  // 获取token
  let Token= await driver.manage().getCookie("MAS_TGC");

获取到Token之后,大门就打开了,我们可以使用页面上的接口,直接获取到数据。

爬虫法规

以上的爬虫实例是在得到客户许可,并且由客户提供的账户密码来进行信息获取。以下是一些常见的法律法规:

  1. 网络安全法:中国政府制定了网络安全法,旨在保护国家网络安全和公民隐私。该法规要求网络运营者采取措施保护用户数据和隐私,并规定了禁止非法获取和使用个人信息等行为。

  2. 个人信息保护法:该法规旨在保护个人隐私和数据安全。它规定了个人信息的收集、使用、处理、保护等方面的要求,并规定了违反法规的处罚措施。

大多数非法使用爬虫的人都会被判:破坏计算机系统罪。情节较轻的情况下,处五年以下有期徒刑或者拘役;情节严重的情况下,处五年以上有期徒刑。所以大家要合法使用爬虫程序,不能爬虫写的好,牢饭吃的早。

总之,使用网络爬虫需要遵守相关法律法规,以确保网络安全和用户隐私得到保护。同时,也需要采取措施确保网络爬虫的合法性和合规性,以避免可能的法律风险。