Python 爬虫学习笔记 – 第三周/单元9/股票数据定向爬虫

English Version: https://today2tmr.com/en/2017/07/18/python-spider-study-note-week-threeunit-ninedirectional-spider-for-stock-data

介绍

结构设计

  • STEP 1: 从东方财富网获取股票列表
  • STEP 2: 根据股票列表逐个到百度股票获取个股信息
  • STEP 3: 将结果存储到文件

百度个股源码:

 

故用字典作为数据结构存储键值对信息。

编写

Main函数

 

getHTMLText()

 

getStockList()

打开网页: http://quote.eastmoney.com/stocklist.html

 

  • 需解析出.html前的股票代码。
  • 个股信息存储在a标签中,链接存在href属性中。
  • 深圳交易所由sc,上海交易所由sh开头,数字由6位数字组成,用正则表达式提取。
  • 并非所有a标签都符合正则表达式。

 

getStockInfo()

打开个股网站:https://gupiao.baidu.com/stock/sh601766.html

 

 

优化

  • 速度提高需用scrapy
  • 小提速,手工获得正确编码
    getHTMLText(url, code = 'utf-8')
    r.encoding = code

    • 东方财富网使用GB2312:getHTMLText(stockURL,'GB2312')
    • 百度使用utf-8,不用修改
  • 不换行动态显示进度,使用\r,将打印光标提到字符串头部
    • \r在IDLE中被禁用
    • 在getStockInfo()中,加入变量count

       

全代码

 

总结

  • requests-bs4-re
  • 动态进度条,提高用户体验

Leave a Reply

Your email address will not be published.