Scrapy Design - Meng-Gen/StockDocs GitHub Wiki

Setup

  • scrapy: pip install scrapy
  • mysql-python:
    • export PATH=$PATH:/usr/local/mysql/bin
    • sudo pip install mysql-python
  • service_identity: pip install service_identity --force --upgrade

Crawler Details

股票代號與名稱:

資產負債表: (以台積電為例)

  • 季表簡表、年表簡表(合併報表): http://jdata.yuanta.com.tw/z/zc/zcp/zcp/zcp_2330.djhtm
    • Title: response.xpath('/html/head/title/text()').extract()
    • 季表簡表:
      • 單位:百萬: response.xpath('//*[@id="SysJustIFRAMEDIV"]/table/tr[2]/td[2]/table[1]/tr[1]/td/table/tr/td/table/form/tr/td/div/text()').extract()
      • 期別列: response.xpath('//*[@id="SysJustIFRAMEDIV"]/table/tr[2]/td[2]/table[1]/tr[1]/td/table/tr/td/table/tr[1]/td').extract()
      • 流動資產: response.xpath('//*[@id="SysJustIFRAMEDIV"]/table/tr[2]/td[2]/table[1]/tr[1]/td/table/tr/td/table/tr[2]/td').extract()
      • 餘類推,列數個數為 len(response.xpath('//*[@id="SysJustIFRAMEDIV"]/table/tr[2]/td[2]/table[1]/tr[1]/td/table/tr/td/table/tr'))
    • 年表簡表:
      • 期別列: response.xpath('//*[@id="SysJustIFRAMEDIV"]/table/tr[2]/td[2]/table[1]/tr[2]/td/table/tr/td/table/tr[1]/td').extract()
    • 表尾出現台灣證券交易所、證券櫃檯買賣中心網址: response.xpath('//*[@id="SysJustIFRAMEDIV"]/table/tr[2]/td[2]/table[2]/tr/td/a/@href').extract()
  • 季表(合併報表): http://jdata.yuanta.com.tw/z/zc/zcp/zcpa/zcpa_2330.djhtm
    • Title: response.xpath('/html/head/title/text()').extract()
    • 單位:百萬: response.xpath('//*[@id="oScrollHead"]/td/div/text()').extract()
    • 期別列: response.xpath('//*[@id="oMainTable"]/tr[1]/td/text()').extract()
    • 現金及約當現金: response.xpath('//*[@id="oMainTable"]/tr[1]/td/text()').extract()
    • 餘類推,列數個數為 len(response.xpath('//*[@id="oMainTable"]/tr'))
    • Sanity check:
      • 表尾出現台灣證券交易所、證券櫃檯買賣中心網址: response.xpath('//*[@id="SysJustIFRAMEDIV"]/table/tr[2]/td[2]/table[2]/tr/td/a/@href').extract()
  • 年表(合併報表): http://jdata.yuanta.com.tw/z/zc/zcp/zcpb/zcpb_2330.djhtm