数据采集与融合技术-第四次大作业

作业①

  • 1.1作业内容

    • 要求:熟练掌握 scrapy 中 Item、Pipeline 数据的序列化输出方法;Scrapy+Xpath+MySQL数据库存储技术路线爬取当当网站图书数据
    • 候选网站:http://search.dangdang.com/?key=python&act=input
    • 输出信息:MySQL的输出信息如下
  • 1.2代码及实验步骤

    • 1.2.1码云链接:
      作业4_1

    • 1.2.2实验步骤:

      • 1、分析网页格式
        找到每个商品的信息部分



      • 2、编写item.py



      • 3、编写MySpider.py
        根据1中观察爬取出所有商品的li标签

        遍历每个li,爬取节点信息

        处理为空值的节点信息



      • 4、编写pipelines.py
        数据库类

        创建数据库插入数据



    • 1.2.3运行结果:

  • 1.3心得体会

    • 爬取信息时先爬取每个商品的li节点,再循环爬取信息节点
    • 可以将请求头信息插入到setting文件中



作业②

  • 2.1作业内容

    • 要求:熟练掌握 scrapy 中 Item、Pipeline 数据的序列化输出方法;使用scrapy框架+Xpath+MySQL数据库存储技术路线爬取外汇网站数据。
    • 候选网站:招商银行网:http://fx.cmbchina.com/hq/
    • 输出信息:MySQL数据库存储和输出格式
      Id Currency TSP CSP TBP CBP Time
      1 港币 86.60 86.60 86.26 85.65 15:36:30
      2...
  • 2.2代码及实验步骤

    • 2.2.1码云链接: 作业4_2

    • 2.2.2实验步骤

      • 1、编写item.py


      • 2、编写MySpider.py
        爬取tr节点

        遍历tr节点爬取子节点信息,并用re剔除信息中的转义字符和空格


      • 3、pipelines.py编写内容与上题相似

    • 2.2.3运行结果:


  • 2.3心得体会

    • 爬取到的tr节点中可能带有列名信息,其中的子节点与别的不同,应做特殊处理,防止在遍历时爬取出错

作业③

  • 3.1作业内容

    • 要求:熟练掌握 Selenium 查找HTML元素、爬取Ajax网页数据、等待HTML元素等内容;
      使用Selenium框架+ MySQL数据库存储技术路线爬取“沪深A股”、“上证A股”、“深证A股”3个板块的股票数据信息。
    • 候选网站:东方财富网:http://quote.eastmoney.com/center/gridlist.html#hs_a_board
    • 输出信息:MySQL数据库存储和输出格式如下,表头应是英文命名例如:序号id,股票代码:bStockNo……,由同学们自行定义设计表头:
      序号 股票代码 股票名称 最新报价 涨跌幅 涨跌额 成交量 成交额 振幅 最高 最低 今开 昨收
      1 688093 N世华 28.47 62.22% 10.92 26.13万 7.6亿 22.34 32.0 28.08 30.2 17.55
      2......
  • 3.2代码及实验步骤

    • 3.2.1码云链接: 作业4_3

    • 3.2.2实验步骤

      • 1、分析html

        查看翻页节点


      • 2、编写数据库类同上
      • 3、搭建网站


      • 4、爬取信息


      • 5、将翻页的xpath路径存入列表,实现点击翻页



      • 6、爬取结束,关闭连接


    • 3.2.4运行结果:


  • 3.3心得体会

    • 翻页点击后要设置一个time.sleep,以便网页成功完成翻页
    • 可以将要实现的翻页xpath路径存入列表,实现多个页面的翻页效果
posted @ 2021-11-12 22:05  暴走小颗颗  阅读(26)  评论(0编辑  收藏  举报