zoukankan      html  css  js  c++  java
  • 爬虫简答考题

    一.如何爬取静态网页和动态网页代码:

    1.抓取静态代码:

      静态页面中的数据都包含在网页的HTML中(一般都是get请求)

      静态网页通过requests库获取源代码,用bs4,re进行解析

      import requests
    
      url = " "
    
      html = requests.get(url).text

    2.抓取动态加载网页:

        结构化数据:json,xml等

        动态页面和静态页面最主要的区别就是当数据刷新的时候用了ajax技术,刷新时从数据库查询数据并重新渲染到前端页面,

        数据都存储在网络包中,爬取HTML是获取不到数据的。

      抓取这种动态页面常见的有两种方式:

      (1)抓取网络请求包

        请求接口一些需要传参数,需要破解参数,破解js和破解参数

      (2)无头浏览器渲染

        selenium 为浏览器测试框架,可以调用浏览器webdriver模拟浏览器作,等网页所有源码加载完后,获取源码用bs4,re进行解析

    #coding=utf-8
    from selenium import webdriver
    
    Chrome_options = webdriver.ChromeOptions()
    Chrome_options.add_argument('--headless') # 设为无头模式,可以不弹出浏览器窗口
    drive = webdriver.Chrome(chrome_options=Chrome_options)
    drive.get('http://public.163.com/#/list/movie')
    html = drive.page_source
    print(html)
    drive.quit()

     二.爬虫的原理:

      通过代码,模拟浏览器向服务器发送HTTP或者HTTPS请求,然后对服务器响应的结果进行处理,从中获取想要的数据。
    三.什么是爬虫:
      网络爬虫(Spider)是一种程序,它的主要目的是将互联网上的网页下载到本地并提取出相关数据。网络爬虫可以自动化的浏览网络中的信息,然后根据我们制定的规则下载和提取信息。什么是爬虫
    四.爬虫的应用和作用:
      1.收集数据
      爬虫最直接、最常用的使用方法,其运行速度极快而且不会因为做重复的事情就感觉到疲劳,因此使用爬虫来获取大量的数据。
      2.尽职调查
      投资人在投资一一个公司之前,需要知道这个公司是否如他们自己所描述的一样尽职尽责地.工作,是否有偷奸耍滑、篡改数据、欺骗投资人的嫌疑有了爬虫的帮助,很多欺骗行为都会赤裸裸地暴露在阳光下。
      3.刷流量,秒杀和抢票等
      刷流量是爬虫天然自带的功能。当爬虫访问了一个网站时,如果这个爬虫隐藏得很好,网站不能识别这一次访问来自于爬虫, 那么就会把它当成正常访问。爬虫也可以参与各种秒杀活动,包括但不限于在各种电商网站_上抢商品,抢优惠券,抢机票和火车票
    五.爬虫的危害:
      (1)性能骚扰  Web服务器默认接收人类访问,而而受限于编写水平和目的,网络爬虫将会为Web服务器带来巨大的资源开销。
      (2)法律风险  服务器上的数据有产权归属,而网络爬虫获取数据后牟利将带来法律风险。
      (3)隐私泄露  网络爬虫可能具备突破简单访问控制的能力,获得被保护数据从而泄漏个人隐私。
      (4)从网站业务安全的角度,危害有以下几点: 核心文本被爬、 注册用户被扫描、点击欺诈、网站带宽负担 。

    csv储存list:

    datas = []
    with open('.csv', 'w', newline='',encoding='utf-8-sig') as f:
        writer  = csv.writer(f)
        for row in datas:
            writer.writerow(row)
  • 相关阅读:
    算法提高 12-1三角形
    poj3723_Conscription
    算法提高 8-1因式分解
    算法提高 道路和航路
    算法训练 安慰奶牛
    最短路问题(Bellman/Dijkstra/Floyd)
    最小生成树 prime+heap
    算法训练 最短路
    算法训练 最大的算式
    poj3255 Roadblocks
  • 原文地址:https://www.cnblogs.com/lskai/p/11982936.html
Copyright © 2011-2022 走看看