diff --git a/bb102/python-etl-20170707.ipynb b/bb102/python-etl-20170707.ipynb index cf364ac..86c7f97 100644 --- a/bb102/python-etl-20170707.ipynb +++ b/bb102/python-etl-20170707.ipynb @@ -370,6 +370,383 @@ "from bs4 import BeautifulSoup" ] }, + { + "cell_type": "code", + "execution_count": 322, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Explore BUGs in lxml engine...." + ] + }, + { + "cell_type": "code", + "execution_count": 290, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "URL = \"http://www.coolpc.com.tw/evaluate.php\"\n", + "res = requests.get(URL)" + ] + }, + { + "cell_type": "code", + "execution_count": 291, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 291, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "res.status_code" + ] + }, + { + "cell_type": "code", + "execution_count": 315, + "metadata": {}, + "outputs": [], + "source": [ + "soup = BeautifulSoup(res.text, 'lxml')" + ] + }, + { + "cell_type": "code", + "execution_count": 316, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ] + }, + "execution_count": 316, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# BUG in xml parsing engine!! optgroup not parsed correctly....\n", + "soup.select(\"#tbdy > tr\")[6].select('optgroup')[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 320, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "soup = BeautifulSoup(res.text, 'html5lib')" + ] + }, + { + "cell_type": "code", + "execution_count": 321, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "" + ] + }, + "execution_count": 321, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# BUG in xml parsing engine!! optgroup not parsed correctly....\n", + "soup.select(\"#tbdy > tr\")[6].select('optgroup')[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 323, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Now's lets crawl the mobile website for the real deal" + ] + }, { "cell_type": "code", "execution_count": 3, @@ -3199,7 +3576,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 85, "metadata": { "scrolled": true }, @@ -3239,56 +3616,43 @@ " \n", " \n", " \n", - " 43\n", + " 42\n", " 美光\n", - " 2050\n", + " 1050\n", " TLC\n", - " 美光 MX300 2050G\n", - " 18400\n", - " 8.975610\n", + " 美光 MX300 1050G\n", + " 8500\n", + " 8.095238\n", " 530\n", " 三\n", " 510\n", - " 8.975610\n", - " \n", - " \n", - " 36\n", - " 創見\n", - " 1000\n", - " MLC\n", - " 創見 370S系列 1TB\n", - " 12600\n", - " 12.600000\n", - " 560\n", - " 三\n", - " 460\n", - " 12.600000\n", + " 8.095238\n", " \n", " \n", - " 15\n", - " SanDisk\n", - " 1000\n", + " 40\n", + " 美光\n", + " 525\n", " TLC\n", - " SanDisk X400 1TB\n", - " 10150\n", - " 10.150000\n", - " 540\n", - " 五\n", - " 520\n", - " 10.150000\n", + " 美光 MX300 525G\n", + " 4250\n", + " 8.095238\n", + " 530\n", + " 三\n", + " 510\n", + " 8.095238\n", " \n", " \n", - " 7\n", - " 金士頓\n", - " 960\n", + " 39\n", + " 美光\n", + " 525\n", " TLC\n", - " 金士頓 UV400 960G\n", - " 9100\n", - " 9.479167\n", - " 550\n", + " 美光 MX300 525G\n", + " 4399\n", + " 8.379048\n", + " 530\n", " 三\n", - " 500\n", - " 9.479167\n", + " 510\n", + " 8.379048\n", " \n", " \n", " 41\n", @@ -3317,69 +3681,95 @@ " 8.800000\n", " \n", " \n", - " 42\n", + " 6\n", + " 金士頓\n", + " 480\n", + " TLC\n", + " 金士頓 UV400 480G\n", + " 4288\n", + " 8.933333\n", + " 550\n", + " 三\n", + " 500\n", + " 8.933333\n", + " \n", + " \n", + " 43\n", " 美光\n", - " 1050\n", + " 2050\n", " TLC\n", - " 美光 MX300 1050G\n", - " 8500\n", - " 8.095238\n", + " 美光 MX300 2050G\n", + " 18400\n", + " 8.975610\n", " 530\n", " 三\n", " 510\n", - " 8.095238\n", + " 8.975610\n", " \n", " \n", - " 35\n", - " 創見\n", - " 512\n", - " MLC\n", - " 創見 370S系列 512G\n", - " 5888\n", - " 11.500000\n", - " 570\n", - " \n", + " 46\n", + " WD\n", + " 500\n", + " TLC\n", + " WD Blue 500G(藍標)\n", + " 4650\n", + " 9.300000\n", + " 545\n", + " 三\n", + " 525\n", + " 9.300000\n", + " \n", + " \n", + " 16\n", + " Liteon\n", + " 240\n", + " TLC\n", + " Liteon MUIII 240G\n", + " 2250\n", + " 9.375000\n", + " 555\n", + " 三\n", " 470\n", - " 11.500000\n", + " 9.375000\n", " \n", " \n", - " 20\n", - " Intel\n", - " 480\n", + " 7\n", + " 金士頓\n", + " 960\n", " TLC\n", - " Intel 540s系列 480G\n", - " 5500\n", - " 11.458333\n", - " 560\n", - " 五\n", - " 480\n", - " 11.458333\n", + " 金士頓 UV400 960G\n", + " 9100\n", + " 9.479167\n", + " 550\n", + " 三\n", + " 500\n", + " 9.479167\n", " \n", " \n", - " 28\n", + " 29\n", " 創見\n", " 512\n", " TLC\n", " 創見 230S系列 512G\n", - " 5299\n", - " 10.349609\n", + " 4888\n", + " 9.546875\n", " 560\n", " 三\n", " 520\n", - " 10.349609\n", + " 9.546875\n", " \n", " \n", - " 14\n", - " SanDisk\n", - " 512\n", + " 1\n", + " 金士頓\n", + " 480\n", " TLC\n", - " SanDisk X400 512G\n", - " 5199\n", - " 10.154297\n", - " 540\n", - " 五\n", - " 520\n", - " 10.154297\n", + " 金士頓 A400 480G\n", + " 4588\n", + " 9.558333\n", + " 500\n", + " 三\n", + " 450\n", + " 9.558333\n", " \n", " \n", " 23\n", @@ -3395,160 +3785,108 @@ " 9.568359\n", " \n", " \n", - " 29\n", - " 創見\n", - " 512\n", + " 10\n", + " UMAX\n", + " 240\n", " TLC\n", - " 創見 230S系列 512G\n", - " 4888\n", - " 9.546875\n", - " 560\n", + " UMAX S300 240G\n", + " 2299\n", + " 9.579167\n", + " 540\n", " 三\n", - " 520\n", - " 9.546875\n", + " 490\n", + " 9.579167\n", " \n", " \n", - " 46\n", + " 45\n", " WD\n", - " 500\n", + " 250\n", " TLC\n", - " WD Blue 500G(藍標)\n", - " 4650\n", - " 9.300000\n", - " 545\n", + " WD Blue 250G(藍標)\n", + " 2499\n", + " 9.996000\n", + " 540\n", " 三\n", - " 525\n", - " 9.300000\n", - " \n", - " \n", - " 1\n", - " 金士頓\n", - " 480\n", - " TLC\n", - " 金士頓 A400 480G\n", - " 4588\n", - " 9.558333\n", " 500\n", - " 三\n", - " 450\n", - " 9.558333\n", + " 9.996000\n", " \n", " \n", - " 39\n", + " 38\n", " 美光\n", - " 525\n", + " 275\n", " TLC\n", - " 美光 MX300 525G\n", - " 4399\n", - " 8.379048\n", + " 美光 MX300 275G\n", + " 2750\n", + " 10.000000\n", " 530\n", " 三\n", - " 510\n", - " 8.379048\n", - " \n", - " \n", - " 6\n", - " 金士頓\n", - " 480\n", - " TLC\n", - " 金士頓 UV400 480G\n", - " 4288\n", - " 8.933333\n", - " 550\n", - " 三\n", " 500\n", - " 8.933333\n", - " \n", - " \n", - " 40\n", - " 美光\n", - " 525\n", - " TLC\n", - " 美光 MX300 525G\n", - " 4250\n", - " 8.095238\n", - " 530\n", - " 三\n", - " 510\n", - " 8.095238\n", + " 10.000000\n", " \n", " \n", - " 34\n", - " 創見\n", + " 11\n", + " UMAX\n", " 256\n", - " MLC\n", - " 創見 370S系列 256G\n", - " 3570\n", - " 13.945312\n", - " 570\n", + " \n", + " UMAX S350 256GB\n", + " 2588\n", + " 10.109375\n", + " 560\n", " 三\n", - " 310\n", - " 13.945312\n", + " 500\n", + " 10.109375\n", " \n", " \n", - " 19\n", - " Intel\n", - " 150\n", - " MLC\n", - " Intel DC S3520系列 150G\n", - " 2999\n", - " 19.993333\n", - " 450\n", + " 15\n", + " SanDisk\n", + " 1000\n", + " TLC\n", + " SanDisk X400 1TB\n", + " 10150\n", + " 10.150000\n", + " 540\n", " 五\n", - " 380\n", - " 19.993333\n", + " 520\n", + " 10.150000\n", " \n", " \n", - " 13\n", + " 14\n", " SanDisk\n", - " 256\n", + " 512\n", " TLC\n", - " SanDisk X400 256G\n", - " 2990\n", - " 11.679688\n", + " SanDisk X400 512G\n", + " 5199\n", + " 10.154297\n", " 540\n", " 五\n", " 520\n", - " 11.679688\n", - " \n", - " \n", - " 2\n", - " 金士頓SSDNow\n", - " 240\n", - " \n", - " 金士頓SSDNow UV400 240G雞年限定版(含升級套件組)【三年保】, $2988\n", - " 2988\n", - " 12.450000\n", - " 0\n", - " 三\n", - " 0\n", - " 12.450000\n", + " 10.154297\n", " \n", " \n", - " 32\n", + " 28\n", " 創見\n", - " 256\n", - " MLC\n", - " 創見 340K系列 256G\n", - " 2900\n", - " 11.328125\n", - " 520\n", + " 512\n", + " TLC\n", + " 創見 230S系列 512G\n", + " 5299\n", + " 10.349609\n", + " 560\n", " 三\n", - " 290\n", - " 11.328125\n", + " 520\n", + " 10.349609\n", " \n", " \n", - " 26\n", + " 27\n", " 創見\n", " 256\n", " TLC\n", " 創見 230S系列 256G\n", - " 2849\n", - " 11.128906\n", + " 2688\n", + " 10.500000\n", " 560\n", " 三\n", " 520\n", - " 11.128906\n", + " 10.500000\n", " \n", " \n", " 22\n", @@ -3564,56 +3902,43 @@ " 10.742188\n", " \n", " \n", - " 38\n", - " 美光\n", - " 275\n", + " 5\n", + " 金士頓\n", + " 240\n", " TLC\n", - " 美光 MX300 275G\n", - " 2750\n", - " 10.000000\n", - " 530\n", + " 金士頓 UV400 240G\n", + " 2580\n", + " 10.750000\n", + " 550\n", " 三\n", - " 500\n", - " 10.000000\n", + " 490\n", + " 10.750000\n", " \n", " \n", - " 18\n", - " Liteon\n", + " 0\n", + " 金士頓\n", " 240\n", - " MLC\n", - " Liteon MUIII Rock 240G\n", - " 2750\n", - " 11.458333\n", - " 530\n", - " 三\n", - " 420\n", - " 11.458333\n", - " \n", - " \n", - " 27\n", - " 創見\n", - " 256\n", " TLC\n", - " 創見 230S系列 256G\n", - " 2688\n", - " 10.500000\n", - " 560\n", + " 金士頓 A400 240G\n", + " 2600\n", + " 10.833333\n", + " 500\n", " 三\n", - " 520\n", - " 10.500000\n", + " 450\n", + " 10.833333\n", " \n", " \n", - " 37\n", - " Toshiba\n", + " 4\n", + " 金士頓\n", " 240\n", " TLC\n", - " Toshiba A100 240G\n", - " 2650\n", - " 11.041667\n", + " 金士頓 UV400 240G\n", + " 2630\n", + " 10.958333\n", " 550\n", " 三\n", - " 480\n", - " 11.041667\n", + " 490\n", + " 10.958333\n", " \n", " \n", " 8\n", @@ -3629,186 +3954,147 @@ " 11.041667\n", " \n", " \n", - " 4\n", - " 金士頓\n", + " 37\n", + " Toshiba\n", " 240\n", " TLC\n", - " 金士頓 UV400 240G\n", - " 2630\n", - " 10.958333\n", + " Toshiba A100 240G\n", + " 2650\n", + " 11.041667\n", " 550\n", " 三\n", - " 490\n", - " 10.958333\n", + " 480\n", + " 11.041667\n", " \n", " \n", - " 0\n", - " 金士頓\n", - " 240\n", - " TLC\n", - " 金士頓 A400 240G\n", - " 2600\n", - " 10.833333\n", - " 500\n", - " 三\n", - " 450\n", - " 10.833333\n", - " \n", - " \n", - " 11\n", - " UMAX\n", + " 26\n", + " 創見\n", " 256\n", - " \n", - " UMAX S350 256GB\n", - " 2588\n", - " 10.109375\n", - " 560\n", - " 三\n", - " 500\n", - " 10.109375\n", - " \n", - " \n", - " 5\n", - " 金士頓\n", - " 240\n", " TLC\n", - " 金士頓 UV400 240G\n", - " 2580\n", - " 10.750000\n", - " 550\n", + " 創見 230S系列 256G\n", + " 2849\n", + " 11.128906\n", + " 560\n", " 三\n", - " 490\n", - " 10.750000\n", + " 520\n", + " 11.128906\n", " \n", " \n", - " 45\n", - " WD\n", - " 250\n", - " TLC\n", - " WD Blue 250G(藍標)\n", - " 2499\n", - " 9.996000\n", - " 540\n", + " 32\n", + " 創見\n", + " 256\n", + " MLC\n", + " 創見 340K系列 256G\n", + " 2900\n", + " 11.328125\n", + " 520\n", " 三\n", - " 500\n", - " 9.996000\n", + " 290\n", + " 11.328125\n", " \n", " \n", - " 10\n", - " UMAX\n", - " 240\n", + " 20\n", + " Intel\n", + " 480\n", " TLC\n", - " UMAX S300 240G\n", - " 2299\n", - " 9.579167\n", - " 540\n", - " 三\n", - " 490\n", - " 9.579167\n", + " Intel 540s系列 480G\n", + " 5500\n", + " 11.458333\n", + " 560\n", + " 五\n", + " 480\n", + " 11.458333\n", " \n", " \n", - " 16\n", + " 18\n", " Liteon\n", " 240\n", - " TLC\n", - " Liteon MUIII 240G\n", - " 2250\n", - " 9.375000\n", - " 555\n", + " MLC\n", + " Liteon MUIII Rock 240G\n", + " 2750\n", + " 11.458333\n", + " 530\n", " 三\n", - " 470\n", - " 9.375000\n", + " 420\n", + " 11.458333\n", " \n", " \n", - " 33\n", + " 35\n", " 創見\n", - " 128\n", + " 512\n", " MLC\n", - " 創見 370S系列 128G\n", - " 1850\n", - " 14.453125\n", + " 創見 370S系列 512G\n", + " 5888\n", + " 11.500000\n", " 570\n", - " 三\n", - " 170\n", - " 14.453125\n", + " \n", + " 470\n", + " 11.500000\n", " \n", " \n", - " 12\n", + " 13\n", " SanDisk\n", - " 128\n", + " 256\n", " TLC\n", - " SanDisk X400 128G\n", - " 1770\n", - " 13.828125\n", + " SanDisk X400 256G\n", + " 2990\n", + " 11.679688\n", " 540\n", " 五\n", - " 340\n", - " 13.828125\n", - " \n", - " \n", - " 9\n", - " 金士頓\n", - " 120\n", - " MLC\n", - " 金士頓 HyperX FURY 120G\n", - " 1750\n", - " 14.583333\n", - " 500\n", - " 三\n", - " 500\n", - " 14.583333\n", + " 520\n", + " 11.679688\n", " \n", " \n", - " 24\n", + " 25\n", " 創見\n", " 128\n", " TLC\n", " 創見 230S系列 128G\n", - " 1749\n", - " 13.664062\n", + " 1550\n", + " 12.109375\n", " 560\n", " 三\n", " 520\n", - " 13.664062\n", + " 12.109375\n", " \n", " \n", - " 17\n", - " Liteon\n", - " 120\n", - " MLC\n", - " Liteon MUIII Rock 120G\n", - " 1690\n", - " 14.083333\n", - " 530\n", + " 21\n", + " 威剛\n", + " 128\n", + " TLC\n", + " 威剛 Ultimate SU800 128G\n", + " 1580\n", + " 12.343750\n", + " 560\n", " 三\n", - " 290\n", - " 14.083333\n", + " 520\n", + " 12.343750\n", " \n", " \n", - " 30\n", - " 創見\n", - " 128\n", - " MLC\n", - " 創見 340K系列 128G\n", - " 1680\n", - " 13.125000\n", - " 520\n", + " 2\n", + " 金士頓SSDNow\n", + " 240\n", + " \n", + " 金士頓SSDNow UV400 240G雞年限定版(含升級套件組)【三年保】, $2988\n", + " 2988\n", + " 12.450000\n", + " 0\n", " 三\n", - " 150\n", - " 13.125000\n", + " 0\n", + " 12.450000\n", " \n", " \n", - " 3\n", - " 金士頓\n", + " 44\n", + " WD\n", " 120\n", " TLC\n", - " 金士頓 UV400 120G\n", - " 1650\n", - " 13.750000\n", - " 550\n", + " WD Green 120G(綠標)\n", + " 1499\n", + " 12.491667\n", + " 540\n", " 三\n", - " 350\n", - " 13.750000\n", + " 430\n", + " 12.491667\n", " \n", " \n", " 31\n", @@ -3824,157 +4110,248 @@ " 12.492188\n", " \n", " \n", - " 21\n", - " 威剛\n", - " 128\n", - " TLC\n", - " 威剛 Ultimate SU800 128G\n", - " 1580\n", - " 12.343750\n", + " 36\n", + " 創見\n", + " 1000\n", + " MLC\n", + " 創見 370S系列 1TB\n", + " 12600\n", + " 12.600000\n", " 560\n", " 三\n", + " 460\n", + " 12.600000\n", + " \n", + " \n", + " 30\n", + " 創見\n", + " 128\n", + " MLC\n", + " 創見 340K系列 128G\n", + " 1680\n", + " 13.125000\n", " 520\n", - " 12.343750\n", + " 三\n", + " 150\n", + " 13.125000\n", " \n", " \n", - " 25\n", + " 24\n", " 創見\n", " 128\n", " TLC\n", " 創見 230S系列 128G\n", - " 1550\n", - " 12.109375\n", + " 1749\n", + " 13.664062\n", " 560\n", " 三\n", " 520\n", - " 12.109375\n", + " 13.664062\n", " \n", " \n", - " 44\n", - " WD\n", + " 3\n", + " 金士頓\n", " 120\n", " TLC\n", - " WD Green 120G(綠標)\n", - " 1499\n", - " 12.491667\n", - " 540\n", + " 金士頓 UV400 120G\n", + " 1650\n", + " 13.750000\n", + " 550\n", " 三\n", - " 430\n", - " 12.491667\n", - " \n", + " 350\n", + " 13.750000\n", + " \n", + " \n", + " 12\n", + " SanDisk\n", + " 128\n", + " TLC\n", + " SanDisk X400 128G\n", + " 1770\n", + " 13.828125\n", + " 540\n", + " 五\n", + " 340\n", + " 13.828125\n", + " \n", + " \n", + " 34\n", + " 創見\n", + " 256\n", + " MLC\n", + " 創見 370S系列 256G\n", + " 3570\n", + " 13.945312\n", + " 570\n", + " 三\n", + " 310\n", + " 13.945312\n", + " \n", + " \n", + " 17\n", + " Liteon\n", + " 120\n", + " MLC\n", + " Liteon MUIII Rock 120G\n", + " 1690\n", + " 14.083333\n", + " 530\n", + " 三\n", + " 290\n", + " 14.083333\n", + " \n", + " \n", + " 33\n", + " 創見\n", + " 128\n", + " MLC\n", + " 創見 370S系列 128G\n", + " 1850\n", + " 14.453125\n", + " 570\n", + " 三\n", + " 170\n", + " 14.453125\n", + " \n", + " \n", + " 9\n", + " 金士頓\n", + " 120\n", + " MLC\n", + " 金士頓 HyperX FURY 120G\n", + " 1750\n", + " 14.583333\n", + " 500\n", + " 三\n", + " 500\n", + " 14.583333\n", + " \n", + " \n", + " 19\n", + " Intel\n", + " 150\n", + " MLC\n", + " Intel DC S3520系列 150G\n", + " 2999\n", + " 19.993333\n", + " 450\n", + " 五\n", + " 380\n", + " 19.993333\n", + " \n", " \n", "\n", "" ], "text/plain": [ " brand cap flash name \\\n", - "43 美光 2050 TLC 美光 MX300 2050G \n", - "36 創見 1000 MLC 創見 370S系列 1TB \n", - "15 SanDisk 1000 TLC SanDisk X400 1TB \n", - "7 金士頓 960 TLC 金士頓 UV400 960G \n", + "42 美光 1050 TLC 美光 MX300 1050G \n", + "40 美光 525 TLC 美光 MX300 525G \n", + "39 美光 525 TLC 美光 MX300 525G \n", "41 美光 1050 TLC 美光 MX300 1050G \n", "47 WD 1000 TLC WD Blue 1TB(藍標) \n", - "42 美光 1050 TLC 美光 MX300 1050G \n", - "35 創見 512 MLC 創見 370S系列 512G \n", - "20 Intel 480 TLC Intel 540s系列 480G \n", - "28 創見 512 TLC 創見 230S系列 512G \n", - "14 SanDisk 512 TLC SanDisk X400 512G \n", - "23 威剛 512 TLC 威剛 Ultimate SU800 512G \n", - "29 創見 512 TLC 創見 230S系列 512G \n", + "6 金士頓 480 TLC 金士頓 UV400 480G \n", + "43 美光 2050 TLC 美光 MX300 2050G \n", "46 WD 500 TLC WD Blue 500G(藍標) \n", + "16 Liteon 240 TLC Liteon MUIII 240G \n", + "7 金士頓 960 TLC 金士頓 UV400 960G \n", + "29 創見 512 TLC 創見 230S系列 512G \n", "1 金士頓 480 TLC 金士頓 A400 480G \n", - "39 美光 525 TLC 美光 MX300 525G \n", - "6 金士頓 480 TLC 金士頓 UV400 480G \n", - "40 美光 525 TLC 美光 MX300 525G \n", - "34 創見 256 MLC 創見 370S系列 256G \n", - "19 Intel 150 MLC Intel DC S3520系列 150G \n", - "13 SanDisk 256 TLC SanDisk X400 256G \n", - "2 金士頓SSDNow 240 金士頓SSDNow UV400 240G雞年限定版(含升級套件組)【三年保】, $2988 \n", - "32 創見 256 MLC 創見 340K系列 256G \n", - "26 創見 256 TLC 創見 230S系列 256G \n", - "22 威剛 256 TLC 威剛 Ultimate SU800 256G \n", + "23 威剛 512 TLC 威剛 Ultimate SU800 512G \n", + "10 UMAX 240 TLC UMAX S300 240G \n", + "45 WD 250 TLC WD Blue 250G(藍標) \n", "38 美光 275 TLC 美光 MX300 275G \n", - "18 Liteon 240 MLC Liteon MUIII Rock 240G \n", - "27 創見 256 TLC 創見 230S系列 256G \n", - "37 Toshiba 240 TLC Toshiba A100 240G \n", - "8 金士頓 240 MLC 金士頓 V300 240G \n", - "4 金士頓 240 TLC 金士頓 UV400 240G \n", - "0 金士頓 240 TLC 金士頓 A400 240G \n", "11 UMAX 256 UMAX S350 256GB \n", + "15 SanDisk 1000 TLC SanDisk X400 1TB \n", + "14 SanDisk 512 TLC SanDisk X400 512G \n", + "28 創見 512 TLC 創見 230S系列 512G \n", + "27 創見 256 TLC 創見 230S系列 256G \n", + "22 威剛 256 TLC 威剛 Ultimate SU800 256G \n", "5 金士頓 240 TLC 金士頓 UV400 240G \n", - "45 WD 250 TLC WD Blue 250G(藍標) \n", - "10 UMAX 240 TLC UMAX S300 240G \n", - "16 Liteon 240 TLC Liteon MUIII 240G \n", - "33 創見 128 MLC 創見 370S系列 128G \n", - "12 SanDisk 128 TLC SanDisk X400 128G \n", - "9 金士頓 120 MLC 金士頓 HyperX FURY 120G \n", - "24 創見 128 TLC 創見 230S系列 128G \n", - "17 Liteon 120 MLC Liteon MUIII Rock 120G \n", - "30 創見 128 MLC 創見 340K系列 128G \n", - "3 金士頓 120 TLC 金士頓 UV400 120G \n", - "31 創見 128 MLC 創見 340K系列 128G \n", - "21 威剛 128 TLC 威剛 Ultimate SU800 128G \n", + "0 金士頓 240 TLC 金士頓 A400 240G \n", + "4 金士頓 240 TLC 金士頓 UV400 240G \n", + "8 金士頓 240 MLC 金士頓 V300 240G \n", + "37 Toshiba 240 TLC Toshiba A100 240G \n", + "26 創見 256 TLC 創見 230S系列 256G \n", + "32 創見 256 MLC 創見 340K系列 256G \n", + "20 Intel 480 TLC Intel 540s系列 480G \n", + "18 Liteon 240 MLC Liteon MUIII Rock 240G \n", + "35 創見 512 MLC 創見 370S系列 512G \n", + "13 SanDisk 256 TLC SanDisk X400 256G \n", "25 創見 128 TLC 創見 230S系列 128G \n", + "21 威剛 128 TLC 威剛 Ultimate SU800 128G \n", + "2 金士頓SSDNow 240 金士頓SSDNow UV400 240G雞年限定版(含升級套件組)【三年保】, $2988 \n", "44 WD 120 TLC WD Green 120G(綠標) \n", + "31 創見 128 MLC 創見 340K系列 128G \n", + "36 創見 1000 MLC 創見 370S系列 1TB \n", + "30 創見 128 MLC 創見 340K系列 128G \n", + "24 創見 128 TLC 創見 230S系列 128G \n", + "3 金士頓 120 TLC 金士頓 UV400 120G \n", + "12 SanDisk 128 TLC SanDisk X400 128G \n", + "34 創見 256 MLC 創見 370S系列 256G \n", + "17 Liteon 120 MLC Liteon MUIII Rock 120G \n", + "33 創見 128 MLC 創見 370S系列 128G \n", + "9 金士頓 120 MLC 金士頓 HyperX FURY 120G \n", + "19 Intel 150 MLC Intel DC S3520系列 150G \n", "\n", " price price_per_gb read warranty write cp \n", - "43 18400 8.975610 530 三 510 8.975610 \n", - "36 12600 12.600000 560 三 460 12.600000 \n", - "15 10150 10.150000 540 五 520 10.150000 \n", - "7 9100 9.479167 550 三 500 9.479167 \n", + "42 8500 8.095238 530 三 510 8.095238 \n", + "40 4250 8.095238 530 三 510 8.095238 \n", + "39 4399 8.379048 530 三 510 8.379048 \n", "41 8950 8.523810 530 三 510 8.523810 \n", "47 8800 8.800000 545 三 525 8.800000 \n", - "42 8500 8.095238 530 三 510 8.095238 \n", - "35 5888 11.500000 570 470 11.500000 \n", - "20 5500 11.458333 560 五 480 11.458333 \n", - "28 5299 10.349609 560 三 520 10.349609 \n", - "14 5199 10.154297 540 五 520 10.154297 \n", - "23 4899 9.568359 560 三 520 9.568359 \n", - "29 4888 9.546875 560 三 520 9.546875 \n", + "6 4288 8.933333 550 三 500 8.933333 \n", + "43 18400 8.975610 530 三 510 8.975610 \n", "46 4650 9.300000 545 三 525 9.300000 \n", + "16 2250 9.375000 555 三 470 9.375000 \n", + "7 9100 9.479167 550 三 500 9.479167 \n", + "29 4888 9.546875 560 三 520 9.546875 \n", "1 4588 9.558333 500 三 450 9.558333 \n", - "39 4399 8.379048 530 三 510 8.379048 \n", - "6 4288 8.933333 550 三 500 8.933333 \n", - "40 4250 8.095238 530 三 510 8.095238 \n", - "34 3570 13.945312 570 三 310 13.945312 \n", - "19 2999 19.993333 450 五 380 19.993333 \n", - "13 2990 11.679688 540 五 520 11.679688 \n", - "2 2988 12.450000 0 三 0 12.450000 \n", - "32 2900 11.328125 520 三 290 11.328125 \n", - "26 2849 11.128906 560 三 520 11.128906 \n", - "22 2750 10.742188 560 三 520 10.742188 \n", + "23 4899 9.568359 560 三 520 9.568359 \n", + "10 2299 9.579167 540 三 490 9.579167 \n", + "45 2499 9.996000 540 三 500 9.996000 \n", "38 2750 10.000000 530 三 500 10.000000 \n", - "18 2750 11.458333 530 三 420 11.458333 \n", - "27 2688 10.500000 560 三 520 10.500000 \n", - "37 2650 11.041667 550 三 480 11.041667 \n", - "8 2650 11.041667 450 三 450 11.041667 \n", - "4 2630 10.958333 550 三 490 10.958333 \n", - "0 2600 10.833333 500 三 450 10.833333 \n", "11 2588 10.109375 560 三 500 10.109375 \n", + "15 10150 10.150000 540 五 520 10.150000 \n", + "14 5199 10.154297 540 五 520 10.154297 \n", + "28 5299 10.349609 560 三 520 10.349609 \n", + "27 2688 10.500000 560 三 520 10.500000 \n", + "22 2750 10.742188 560 三 520 10.742188 \n", "5 2580 10.750000 550 三 490 10.750000 \n", - "45 2499 9.996000 540 三 500 9.996000 \n", - "10 2299 9.579167 540 三 490 9.579167 \n", - "16 2250 9.375000 555 三 470 9.375000 \n", - "33 1850 14.453125 570 三 170 14.453125 \n", - "12 1770 13.828125 540 五 340 13.828125 \n", - "9 1750 14.583333 500 三 500 14.583333 \n", - "24 1749 13.664062 560 三 520 13.664062 \n", - "17 1690 14.083333 530 三 290 14.083333 \n", + "0 2600 10.833333 500 三 450 10.833333 \n", + "4 2630 10.958333 550 三 490 10.958333 \n", + "8 2650 11.041667 450 三 450 11.041667 \n", + "37 2650 11.041667 550 三 480 11.041667 \n", + "26 2849 11.128906 560 三 520 11.128906 \n", + "32 2900 11.328125 520 三 290 11.328125 \n", + "20 5500 11.458333 560 五 480 11.458333 \n", + "18 2750 11.458333 530 三 420 11.458333 \n", + "35 5888 11.500000 570 470 11.500000 \n", + "13 2990 11.679688 540 五 520 11.679688 \n", + "25 1550 12.109375 560 三 520 12.109375 \n", + "21 1580 12.343750 560 三 520 12.343750 \n", + "2 2988 12.450000 0 三 0 12.450000 \n", + "44 1499 12.491667 540 三 430 12.491667 \n", + "31 1599 12.492188 520 三 150 12.492188 \n", + "36 12600 12.600000 560 三 460 12.600000 \n", "30 1680 13.125000 520 三 150 13.125000 \n", + "24 1749 13.664062 560 三 520 13.664062 \n", "3 1650 13.750000 550 三 350 13.750000 \n", - "31 1599 12.492188 520 三 150 12.492188 \n", - "21 1580 12.343750 560 三 520 12.343750 \n", - "25 1550 12.109375 560 三 520 12.109375 \n", - "44 1499 12.491667 540 三 430 12.491667 " + "12 1770 13.828125 540 五 340 13.828125 \n", + "34 3570 13.945312 570 三 310 13.945312 \n", + "17 1690 14.083333 530 三 290 14.083333 \n", + "33 1850 14.453125 570 三 170 14.453125 \n", + "9 1750 14.583333 500 三 500 14.583333 \n", + "19 2999 19.993333 450 五 380 19.993333 " ] }, - "execution_count": 78, + "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "df.sort_values('price', ascending=False)" + "df.sort_values('cp', ascending=True)" ] }, { @@ -4174,6 +4551,868 @@ "df.to_csv('./pandas_ssd.csv')" ] }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[金士頓 A400 240G/7mm/讀:500M/寫:450M/TLC顆粒【三年保】, $2600,\n", + " 金士頓 A400 480G/7mm/讀:500M/寫:450M/TLC顆粒【三年保】, $4588,\n", + " 金士頓SSDNow UV400 240G雞年限定版(含升級套件組)【三年保】, $2988,\n", + " 金士頓 UV400 120G/7mm/讀:550M/寫:350M/Marvell/TLC顆粒【三年保】, $1650,\n", + " 金士頓 UV400 240G/7mm/讀:550M/寫:490M/Marvell/TLC顆粒【三年保】, $2630,\n", + " 金士頓 UV400 240G/7mm/讀:550M/寫:490M/Marvell/TLC顆粒【三年保】..組裝價, $2580 Hot!,\n", + " 金士頓 UV400 480G/7mm/讀:550M/寫:500M/Marvell/TLC顆粒【三年保】, $4288,\n", + " 金士頓 UV400 960G/7mm/讀:550M/寫:500M/Marvell/TLC顆粒【三年保】, $9100,\n", + " 金士頓 V300 240G/7mm/讀:450M/寫:450M/MLC顆粒【三年保】, $2650,\n", + " 金士頓 HyperX FURY 120G/7mm/讀:500M/寫:500M/MLC顆粒【三年保】, $1750,\n", + " UMAX S300 240G/7mm讀:540M/寫:490M/SMI/TLC顆粒【三年保】, $2299,\n", + " UMAX S350 256GB /7mm 讀:560MB寫:500MB/3D NAND Flash【三年保】, $2588 Hot!,\n", + " SanDisk X400 128G/7mm讀:540M/寫:340M/Marvell/TLC顆粒/【五年保】, $1770 Hot!,\n", + " SanDisk X400 256G/7mm讀:540M/寫:520M/Marvell/TLC顆粒/【五年保】, $2990↘$2900 Hot!,\n", + " SanDisk X400 512G/7mm讀:540M/寫:520M/Marvell/TLC顆粒/【五年保】, $5199↘$5150,\n", + " SanDisk X400 1TB/7mm讀:540M/寫:520M/Marvell/TLC顆粒/【五年保】, $10150↘$9600,\n", + " Liteon MUIII 240G/7mm讀:555M/寫:470M/TLC顆粒【三年保】, $2250,\n", + " Liteon MUIII Rock 120G/7mm讀:530M/寫:290M/MLC顆粒【三年保】, $1690↘$1588,\n", + " Liteon MUIII Rock 240G/7mm讀:530M/寫:420M/MLC顆粒【三年保】, $2750↘$2488,\n", + " Intel DC S3520系列 150G/讀:450M/寫:380M/MLC顆粒/五年【五年保】伺服器嚴選, $2999 Hot!,\n", + " Intel 540s系列 480G/7mm/讀:560M/寫:480M/TLC顆粒/五年【五年保】, $5500,\n", + " 威剛 Ultimate SU800 128G/7mm/讀:560M/寫:520M/TLC顆粒【三年保】, $1580,\n", + " 威剛 Ultimate SU800 256G/7mm/讀:560M/寫:520M/TLC顆粒【三年保】, $2750↘$2680 Hot!,\n", + " 威剛 Ultimate SU800 512G/7mm/讀:560M/寫:520M/TLC顆粒【三年保】, $4899,\n", + " 創見 230S系列 128G/7mm/讀:560M/寫:520M/TLC顆粒【三年保】, $1749↘$1650,\n", + " 創見 230S系列 128G/7mm/讀:560M/寫:520M/TLC顆粒【三年保】..組裝價, $1550,\n", + " 創見 230S系列 256G/7mm/讀:560M/寫:520M/TLC顆粒【三年保】, $2849↘$2650,\n", + " 創見 230S系列 256G/7mm/讀:560M/寫:520M/TLC顆粒【三年保】..組裝價, $2688↘$2550,\n", + " 創見 230S系列 512G/7mm/讀:560M/寫:520M/TLC顆粒【三年保】, $5299↘$4999,\n", + " 創見 230S系列 512G/7mm/讀:560M/寫:520M/TLC顆粒【三年保】..組裝價, $4888↘$4688,\n", + " 創見 340K系列 128G/7mm/讀:520M/寫:150M/MLC顆粒【三年保】, $1680,\n", + " 創見 340K系列 128G/7mm/讀:520M/寫:150M/MLC顆粒【三年保】..組裝價, $1599,\n", + " 創見 340K系列 256G/7mm/讀:520M/寫:290M/MLC顆粒【三年保】, $2900,\n", + " 創見 370S系列 128G/7mm/讀:570M/寫:170M/MLC顆粒【三年保】, $1850,\n", + " 創見 370S系列 256G/7mm/讀:570M/寫:310M/MLC顆粒【三年保】, $3570,\n", + " 創見 370S系列 512G/7mm/讀:570M/寫:470M/MLC顆粒【加送多功能硬殼旅行收納盒】, $5888 Hot!,\n", + " 創見 370S系列 1TB/7mm/讀:560M/寫:460M/MLC顆粒【三年保】, $12600↘$11900,\n", + " Toshiba A100 240G/7mm/讀:550M/寫:480M/TLC顆粒【三年保】, $2650,\n", + " 美光 MX300 275G/7mm/讀:530M/寫:500M/TLC顆粒【三年保】, $2750↘$2730,\n", + " 美光 MX300 525G/7mm/讀:530M/寫:510M/TLC顆粒【三年保】, $4399↘$4350,\n", + " 美光 MX300 525G/7mm/讀:530M/寫:510M/TLC顆粒【三年保】..組裝價, $4250,\n", + " 美光 MX300 1050G/7mm/讀:530M/寫:510M/TLC顆粒【三年保】, $8950↘$8800,\n", + " 美光 MX300 1050G/7mm/讀:530M/寫:510M/TLC顆粒【三年保】..組裝價, $8500,\n", + " 美光 MX300 2050G/7mm/讀:530M/寫:510M/TLC顆粒【三年保】, $18400↘$18300,\n", + " WD Green 120G(綠標)/7mm/讀:540M/寫:430M/TLC顆粒【三年保】, $1499,\n", + " WD Blue 250G(藍標)/7mm/讀:540M/寫:500M/TLC顆粒【三年保】, $2499↘$2470,\n", + " WD Blue 500G(藍標)/7mm/讀:545M/寫:525M/TLC顆粒【三年保】, $4650,\n", + " WD Blue 1TB(藍標)/7mm/讀:545M/寫:525M/TLC顆粒【三年保】, $8800↘$8750,\n", + " 金士頓 mS200 120G/m-SATA/讀:550M/寫:520M/MLC顆粒【三年保】, $1650,\n", + " 金士頓 mS200 240G/m-SATA/讀:550M/寫:520M/MLC顆粒【三年保】, $2850,\n", + " 金士頓 480G/M.2 SATA 2280/讀:550M/寫:520M/MLC顆粒/五年保, $5246,\n", + " SanDisk X400 128G/M.2 SATA 2280/讀:540M/寫:340M/Marvell/TLC/企業級五年保, $1799,\n", + " SanDisk X400 256G/M.2 SATA 2280/讀:540M/寫:520M/Marvell/TLC/企業級五年保, $2900,\n", + " SanDisk X400 512G/M.2 SATA 2280/讀:540M/寫:520M/Marvell/TLC/企業級五年保, $5300↘$5200,\n", + " SanDisk X400 1TB/M.2 SATA 2280/讀:540M/寫:520M/Marvell/TLC/企業級五年保, $10300↘$9600,\n", + " Intel 540s系列 240G/M.2 SATA 2280/讀:560M/寫:480M/TLC顆粒/五年, $3200↘$2990 Hot!,\n", + " Intel 540s系列 240G/M.2 SATA 2280/讀:560M/寫:480M/TLC顆粒/五年..組裝價, $2800 Hot!,\n", + " Intel 540s系列 1TB/M.2 SATA 2280/讀:560M/寫:480M/TLC顆粒/五年, $10500,\n", + " Plextor M7VG 256G/M.2 SATA 2280/讀:560M/寫:520M/TLC顆粒, $3190↘$2990,\n", + " 美光Micron Crucial MX300 275G/M.2 SATA 2280/讀:530M/寫:500M/TLC顆粒, $2999↘$2800,\n", + " 美光Micron Crucial MX300 525G/M.2 SATA 2280/讀:530M/寫:500M/TLC顆粒, $4780↘$4450,\n", + " 美光Micron Crucial MX300 525G/M.2 SATA 2280/讀:530M/寫:500M/TLC..組裝價, $4400↘$4300,\n", + " 美光Micron Crucial MX300 1050G/M.2 SATA 2280/讀:530M/寫:500M/TLC顆粒, $8950↘$8900,\n", + " 美光Micron Crucial MX300 1050G/M.2 SATA 2280/讀:530M/寫:500M/TLC顆粒..組裝價, $8600↘$8500,\n", + " Plextor S2G 512G/M.2 SATA 2280/讀:520M/寫:480M/TLC顆粒, $4399,\n", + " WD Green 120G/M.2 SATA 2280(綠標)/讀:540M/寫:405M/TLC顆粒, $1630,\n", + " WD Blue 250G/M.2 SATA 2280(藍標)/讀:540M/寫:500M/TLC顆粒, $2730,\n", + " WD Blue 500G/M.2 SATA 2280(藍標)/讀:545M/寫:525M/TLC顆粒, $4630,\n", + " WD Blue 1TB/M.2 SATA 2280(藍標)/讀:545M/寫:525M/TLC顆粒, $8990↘$8700,\n", + " Intel Optane Memory 16G 3D Xpoin技術【五年保】, $1590,\n", + " Intel Optane Memory 32G 3D Xpoint技術【五年保】, $2550,\n", + " Intel 600P 128G/M.2 PCIe 2280/讀:770M/寫:450M/TLC顆粒/五年, $1990,\n", + " Intel 600P 256G/M.2 PCIe 2280/讀:1570M/寫:540M/TLC顆粒/五年, $3800,\n", + " Intel 600P 1024G/M.2 PCIe 2280/讀:1800M/寫:560M/TLC顆粒/五年, $9999↘$9900,\n", + " Intel 600P 1024G/M.2 PCIe 2280/讀:1800M/寫:560M/TLC顆粒/五年..組裝價, $9850↘$9700,\n", + " 威剛 XPG SX8000 128G/M.2 PCIe 2280/讀:1000M/寫:550M/MLC顆粒【五年保】, $2450↘$2350,\n", + " 威剛 XPG SX8000 256G/M.2 PCIe 2280/讀:2000M/寫:1100M/MLC顆粒【五年保】, $3899↘$3850,\n", + " 威剛 XPG SX8000 512G/M.2 PCIe 2280/讀:2500M/寫:1100M/MLC顆粒【五年保】, $7199,\n", + " WD Black 256G/M.2 PCIe 2280(黑標)/讀:2050M/寫:700M/TLC顆粒【五年保】, $3450,\n", + " WD Black 512G/M.2 PCIe 2280(黑標)/讀:2050M/寫:800M/TLC顆粒【五年保】, $5990,\n", + " Intel 750系列 400G/2.5\"/讀:2200M/寫:900M/五年, $9800,\n", + " Intel 750系列 1.2TB/2.5\"/讀:2400M/寫:1200M/五年, $24800,\n", + " 金士頓 HyperX Predator 480G/PCIe/讀:1400M/寫:1000M/MLC顆粒, $8800,\n", + " Intel 750系列 400G/PCIe/讀:2200M/寫:900M/MLC顆粒/五年, $9800,\n", + " Intel 750系列 1.2TB/PCIe/讀:2400M/寫:1200M/MLC顆粒/五年, $24800,\n", + " Seagate 500G (ST500DM009)【新梭魚】64M/7200轉/三年保, $1570,\n", + " Seagate 1TB (ST1000DM010)【新梭魚】64M/7200轉/三年保, $1689↘$1650 Hot!,\n", + " Seagate 2TB (ST2000DM006)【新梭魚】64M/7200轉/三年保, $2390,\n", + " Seagate 3TB (ST3000DM008)【新梭魚】64M/7200轉/三年保, $3429↘$3290,\n", + " Seagate 4TB (ST4000DM005)【新梭魚】64M/5900轉/三年保, $4449↘$4290,\n", + " Seagate 6TB (ST6000DM004)【新梭魚 PRO】256M/7200轉/五年保, $9490↘$8890,\n", + " Seagate 8TB (ST8000DM005)【新梭魚 PRO】256M/7200轉/五年保, $11290,\n", + " Seagate 10TB (ST10000DM004)【新梭魚 PRO】256M/7200轉/五年保, $14590,\n", + " Seagate 8TB (ST8000AS0002)【冷儲存碟】128M/5900轉/三年保, $8390 Hot!,\n", + " Seagate 1TB (ST1000DX002)【火梭魚】64M/7200轉/內建8G SSD/五年保, $2699,\n", + " Seagate 2TB (ST2000DX002)【火梭魚】64M/7200轉/8G SSD/五年保, $4149,\n", + " WD 1TB (10EZEX)【藍標】 64M/7200轉/三年保, $1638,\n", + " WD 2TB (20EZRZ)【藍標】 64M/5400轉/三年保, $2349,\n", + " WD 4TB (40EZRZ)【藍標】 64M/5400轉/三年保, $4448↘$4399,\n", + " WD 6TB (60EZRZ)【藍標】 64M/5400轉/三年保, $7388,\n", + " WD 500G (5003AZEX)【黑標】64M/7200轉/雙處理器/五年保, $2199,\n", + " WD 1TB (1003FZEX)【黑標】64M/7200轉/雙處理器/五年保, $2549,\n", + " WD 4TB (4004FZWX)【黑標】128M/7200轉/雙處理器 /五年保, $7149↘$6899,\n", + " WD 6TB (6002FZWX)【黑標】128M/7200轉/雙處理器/五年保, $9588,\n", + " Toshiba 1TB (DT01ACA100)/32M/7200轉/三年保, $1600↘$1599,\n", + " Toshiba 1TB (DT01ACA100)/32M/7200轉/三年保 整機組裝價, $1550,\n", + " Toshiba 2TB (DT01ACA200)/64M/7200轉/三年保+贈 華碩U2000鍵盤滑鼠組(價值349), $2189,\n", + " Toshiba 2TB (DT01ACA200)/64M/7200轉/三年保+購 賽德斯 電競耳麥(SA-701) 現省438元, $2450,\n", + " Toshiba 3TB (DT01ACA300)/64M/7200轉/三年保+購物金100元, $2999,\n", + " Toshiba 3TB (DT01ACA300)/64M/7200轉/三年保 整機組裝價, $2690,\n", + " Toshiba 4TB (MD04ACA400)/128M/7200轉/ 三年保+購物金100元, $3889,\n", + " Toshiba 4TB (MD04ACA400)/128M/7200轉/ 三年保 整機組裝價, $3699,\n", + " Toshiba 6TB (MD04ACA600)/128M/7200轉/ 三年保+購物金200元, $6599,\n", + " Toshiba 6TB (MD04ACA600)/128M/7200轉/ 三年保 整機組裝價, $5999,\n", + " Seagate 1TB (ST1000VX005)【監控鷹】64M/5900轉/三年保, $1799,\n", + " Seagate 2TB (ST2000VX008)【監控鷹】64M/5900轉/三年保, $2590,\n", + " Seagate 3TB (ST3000VX010)【監控鷹】64M/5900轉/三年保, $3389,\n", + " Seagate 4TB (ST4000VX007)【監控鷹】64M/5900轉/三年保, $4490,\n", + " Seagate 6TB (ST6000VX0001)【監控碟】128M/7200轉/三年保【限網路下單】, $8650,\n", + " Seagate 6TB (ST6000VX0023)【監控鷹】256M/7200轉/三年保, $7790,\n", + " Seagate 8TB (ST8000VX0022)【監控鷹】256M/7200轉/三年保, $10390,\n", + " Seagate 10TB (ST10000VX0004)【監控鷹】256M/7200轉/三年保, $12990,\n", + " Seagate 2TB (ST2000VN004)【那嘶狼】64M/5900轉/三年保, $3050,\n", + " Seagate 2TB (ST2000VN004)【那嘶狼】64M/5900轉/三年保【限搭NAS加購】, $2790,\n", + " Seagate 3TB (ST3000VN007)【那嘶狼】64M/5900轉/三年保, $3790,\n", + " Seagate 4TB (ST4000VN008)【那嘶狼】64M/5900轉/三年保, $4990,\n", + " Seagate 4TB (ST4000VN008)【那嘶狼】64M/5900轉/三年保【限搭NAS加購】, $4799,\n", + " Seagate 2TB (ST2000NE0025)【那嘶狼 PRO】128M/7200轉/五年保, $4800,\n", + " Seagate 4TB (ST4000NE0025)【那嘶狼 PRO】128M/7200轉/五年保, $7690,\n", + " Seagate 6TB (ST6000NE0021)【那嘶狼 PRO】256M/7200轉/五年保, $9590,\n", + " Seagate 8TB (ST8000NE0021)【那嘶狼 PRO】256M/7200轉/五年保【訂】, $12790,\n", + " Seagate 10TB (ST10000NE0004)【那嘶狼 PRO】256M/7200轉/五年保【訂】, $15990,\n", + " Seagate 6TB (ST6000VN0041)【那嘶狼】128M/7200轉/三年保, $8090,\n", + " Seagate 8TB (ST8000VN0022)【那嘶狼】256M/7200轉/三年保, $10790,\n", + " Seagate 10TB (ST10000VN0004)【那嘶狼】256M/7200轉/三年保, $13490,\n", + " Seagate 6TB (ST6000VN0001)【企業級NAS碟】128MB/7200轉/五年保, $11990↘$7999 Hot!,\n", + " Seagate 1TB (ST1000NM0008)【企業級】128MB/7200轉/五年保, $3190,\n", + " Seagate 2TB (ST2000NM0008)【企業級】128MB/7200轉/五年保, $4790,\n", + " Seagate 3TB (ST3000NM0005)【企業級】128MB/7200轉/五年保, $6690,\n", + " Seagate 4TB (ST4000NM0035)【企業級】128MB/7200轉/五年保, $8090,\n", + " Seagate 6TB (ST6000NM0115)【企業級】128MB/7200轉/五年保, $12790↘$11490,\n", + " HGST 4TB【NAS碟】128MB/7200轉/三年保, $7100↘$4888,\n", + " HGST 6TB【NAS碟】128MB/7200轉/三年保, $9499↘$6899,\n", + " HGST 8TB【NAS碟】128MB/7200轉/三年保+【購物金 600元】, $13800,\n", + " HGST 8TB【NAS碟】128MB/7200轉/三年保【二顆入】+【購物金 200元】, $18980,\n", + " HGST 1TB【企業級】128MB/7200轉/五年保, $2890,\n", + " HGST 2TB【企業級】128MB/7200轉/五年保, $5700↘$4888,\n", + " HGST 4TB【企業級】128MB/7200轉/五年保+購物金600元, $8390,\n", + " WD 1TB (10EFRX)【NAS碟(紅標)】64M/5400轉/三年保+送技嘉 XMP300 電競鼠墊, $2199,\n", + " WD 2TB (20EFRX)【NAS碟(紅標)】64M/5400轉/三年保+送技嘉 XMP300 電競鼠墊, $3048,\n", + " WD 3TB (30EFRX)【NAS碟(紅標)】64M/5400轉/三年保+送技嘉 XMP300 電競鼠墊, $3788 Hot!,\n", + " WD 4TB (40EFRX)【NAS碟(紅標)】64M/5400轉/三年保+送技嘉 XMP300 電競鼠墊, $4999,\n", + " WD 6TB (60EFRX)【NAS碟(紅標)】64M/5400轉/三年保+送技嘉 XMP300 電競鼠墊, $8199,\n", + " WD 8TB (80EFZX)【NAS碟(紅標)】128M/5400轉等級/三年保+送技嘉 XMP300 電競鼠墊, $10490,\n", + " WD 2TB (2002FFSX)【旗艦紅標】64M/7200轉/五年保, $4849,\n", + " WD 4TB (4002FFWX)【旗艦紅標】128M/7200轉/五年保, $7788,\n", + " WD 6TB (6002FFWX)【旗艦紅標】128M/7200轉/五年保【訂】, $9649,\n", + " WD 8TB (8001FFWX)【旗艦紅標】128M/7200轉/五年保【訂】, $13890,\n", + " WD 1TB (10PURZ)【監控碟(紫標)】64M/5400轉/三年保, $1799,\n", + " WD 2TB (20PURZ)【監控碟(紫標)】64M/5400轉/三年保, $2699,\n", + " WD 3TB (30PURZ)【監控碟(紫標)】64M/5400轉/三年保, $3399,\n", + " WD 4TB (40PURZ)【監控碟(紫標)】64M/5400轉/三年保, $4599,\n", + " WD 6TB (60PURZ)【監控碟(紫標)】64M/5400轉/三年保, $7899,\n", + " WD 8TB (80PUZX)【監控碟(紫標)】128M/5400轉/三年保【訂】, $10390,\n", + " WD 10TB (100PURZ)【監控碟(紫標)】128M/5400轉/三年保【訂】, $13390,\n", + " WD 6TB (6001F9YZ)【企業級Se儲存碟】128MB/7200轉/五年保【限網路下單】, $9990,\n", + " WD 1TB (1005FBYZ)【企業級(金標)】128MB/7200轉/五年保, $3199,\n", + " WD 2TB (2005FBYZ)【企業級(金標)】128MB/7200轉/五年保, $4899,\n", + " WD 4TB (4002FYYZ)【企業級(金標)】128MB/7200轉/五年保, $8290↘$7890,\n", + " WD 6TB (6002FRYZ)【企業級(金標)】128MB/7200轉/五年保【訂】, $11490,\n", + " WD 8TB (8002FRYZ)【企業級(金標)】128MB/7200轉/五年保【訂】, $14890,\n", + " WD 10TB (101KRYZ)【企業級(金標)】256MB/7200轉/五年保【訂】, $18690,\n", + " Toshiba 1TB (DT01ABA100V)【監控碟】32MB/5700轉/三年保, $1700↘$1699,\n", + " Toshiba 2TB (DT01ABA200V)【監控碟】32MB/5700轉/三年保, $2390↘$2389,\n", + " Toshiba 3TB (DT01ABA300V)【監控碟】32MB/5940轉/三年保, $3189,\n", + " Toshiba 4TB (MD04ABA400V)【監控碟】128MB/5400轉/三年保, $4199,\n", + " Toshiba 4TB(HDWQ140AZSTA) NAS專用碟 128M/7200轉/三年保, $4588,\n", + " Toshiba 6TB(HDWN160AZSTA) NAS專用碟 128M/7200轉/三年保, $7899,\n", + " Toshiba 8TB(HDWN180AZSTA) NAS專用碟 128M/7200轉/三年保, $11889↘$9899,\n", + " Toshiba 2TB (MC04ACA200E)【雲端碟】128M/7200轉/三年保+購物金400元, $3788,\n", + " Toshiba 3TB (MC04ACA300E)【雲端碟】128M/7200轉/三年保, $4388,\n", + " Toshiba 3TB (MG03ACA300)【Harrier企業級】64M/7200轉/五年【限網路下單】, $4950,\n", + " Toshiba 1TB (MG03ACA100)【企業級】64MB/7200轉/五年保, $2888,\n", + " Toshiba 2TB (MG04ACA200E)【企業級】128MB/7200轉/五年保, $4488,\n", + " Toshiba 3TB (MG04ACA300E)【企業級】128MB/7200轉/五年保, $5788,\n", + " Toshiba 4TB (MG04ACA400E)【企業級】128MB/7200轉/五年保, $6888,\n", + " Toshiba 1TB (MQ01ABD100)/8M/5400轉/9.5mm/二年保, $1890 Hot!,\n", + " Toshiba 1TB (MQ02ABD100H)【混合碟】64M/內建8G SSD/二年保【限網路下單】, $2599,\n", + " HGST 500G /32M/7200轉/7mm/三年保, $1569,\n", + " HGST 1TB /8M【5400轉】9.5mm/三年保, $1790,\n", + " HGST 1TB /32M【7200轉】9.5mm/三年保, $1999 Hot!,\n", + " Seagate 500G (ST500LM030)/128M/5400轉/7mm薄型/二年保, $1499,\n", + " Seagate 500G (ST500LX025)【混合碟】128M/內建8G SSD/五年保, $2090↘$1999,\n", + " Seagate 2TB (ST2000LM015)【BarraCuda】新梭魚/128M/二年保, $3399,\n", + " Seagate 1TB (ST1000LX015)【火梭魚】128M/內建8G SSD/五年保+贈 銀欣TS 13外接盒, $2299,\n", + " Seagate 2TB (ST2000LX001)【火梭魚】128M/內建8G SSD/五年保+贈 銀欣TS 13外接盒, $3799 Hot!,\n", + " WD 500G (5000LPCX)【藍標】16M/5400轉/7mm/二年保, $1550↘$1499,\n", + " WD 1TB (10JPVX)【藍標】8M/5400轉/9.5mm /二年保, $1750↘$1749,\n", + " WD 500G (5000LPLX)【黑標】32M/7200轉/7mm/五年保, $1750,\n", + " WD 1TB (10JPLX)【黑標】32M/7200轉/9.5mm/五年保, $2199,\n", + " WD 1TB (10JFCX)【紅標】16M/NAS專用碟/9.5mm/三年保, $2500↘$2499]" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "soup.find_all(lambda tag: tag.get('onclick') == 'A(this)')" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[\n", + " \n", + " \n", + " \n", + " \n", + "
\n", + "
輸入email才可建立清單
,\n", + "
]" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "soup.find_all(lambda tag: tag.name == 'table' and tag.get('height') == '128')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Sqlite" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import sqlite3" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [], + "source": [ + "db = sqlite3.connect('./ssd.sqlite')" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "cur = db.cursor()" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cur.execute(\"CREATE TABLE ssd(name varchar primary key, brand varchar, price int, capacity int, read int, write int, flash varchar);\")" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": {}, + "outputs": [], + "source": [ + "row = result[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['金士頓', '金士頓 A400 240G', '三', 'TLC', 500, 450, 240, 2600, 10.833333333333334]" + ] + }, + "execution_count": 122, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(row.values())" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 123, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cur.execute(\"INSERT INTO ssd VALUES ('%s','%s',%s,%s,%s,%s,'%s');\"%(row['name'],\n", + " row['brand'],\n", + " row['price'],\n", + " row['cap'],\n", + " row['read'],\n", + " row['write'],\n", + " row['flash']))" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('金士頓 A400 240G', '金士頓', 2600, 240, 500, 450, 'TLC')\n" + ] + } + ], + "source": [ + "for row in cur.execute(\"SELECT * FROM ssd;\"):\n", + " print(row)" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[('金士頓 A400 240G', '金士頓', 2600, 240, 500, 450, 'TLC')]" + ] + }, + "execution_count": 125, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[row for row in cur.execute(\"SELECT * FROM ssd;\")]" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 142, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cur.execute(\"DELETE FROM ssd;\")" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "db.commit()" + ] + }, + { + "cell_type": "code", + "execution_count": 150, + "metadata": {}, + "outputs": [], + "source": [ + "for row in result:\n", + " try:\n", + " cur.execute(\"INSERT INTO ssd VALUES ('%s','%s',%s,%s,%s,%s,'%s');\"%(row['name'],\n", + " row['brand'],\n", + " row['price'],\n", + " row['cap'],\n", + " row['read'],\n", + " row['write'],\n", + " row['flash']))\n", + " except:\n", + " pass" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('金士頓 A400 240G', '金士頓', 2600, 240, 500, 450, 'TLC')\n", + "('金士頓 A400 480G', '金士頓', 4588, 480, 500, 450, 'TLC')\n", + "('金士頓SSDNow UV400 240G雞年限定版(含升級套件組)【三年保】, $2988', '金士頓SSDNow', 2988, 240, 0, 0, '')\n", + "('金士頓 UV400 120G', '金士頓', 1650, 120, 550, 350, 'TLC')\n", + "('金士頓 UV400 240G', '金士頓', 2630, 240, 550, 490, 'TLC')\n", + "('金士頓 UV400 480G', '金士頓', 4288, 480, 550, 500, 'TLC')\n", + "('金士頓 UV400 960G', '金士頓', 9100, 960, 550, 500, 'TLC')\n", + "('金士頓 V300 240G', '金士頓', 2650, 240, 450, 450, 'MLC')\n", + "('金士頓 HyperX FURY 120G', '金士頓', 1750, 120, 500, 500, 'MLC')\n", + "('UMAX S300 240G', 'UMAX', 2299, 240, 540, 490, 'TLC')\n", + "('UMAX S350 256GB ', 'UMAX', 2588, 256, 560, 500, '')\n", + "('SanDisk X400 128G', 'SanDisk', 1770, 128, 540, 340, 'TLC')\n", + "('SanDisk X400 256G', 'SanDisk', 2990, 256, 540, 520, 'TLC')\n", + "('SanDisk X400 512G', 'SanDisk', 5199, 512, 540, 520, 'TLC')\n", + "('SanDisk X400 1TB', 'SanDisk', 10150, 1000, 540, 520, 'TLC')\n", + "('Liteon MUIII 240G', 'Liteon', 2250, 240, 555, 470, 'TLC')\n", + "('Liteon MUIII Rock 120G', 'Liteon', 1690, 120, 530, 290, 'MLC')\n", + "('Liteon MUIII Rock 240G', 'Liteon', 2750, 240, 530, 420, 'MLC')\n", + "('Intel DC S3520系列 150G', 'Intel', 2999, 150, 450, 380, 'MLC')\n", + "('Intel 540s系列 480G', 'Intel', 5500, 480, 560, 480, 'TLC')\n", + "('威剛 Ultimate SU800 128G', '威剛', 1580, 128, 560, 520, 'TLC')\n", + "('威剛 Ultimate SU800 256G', '威剛', 2750, 256, 560, 520, 'TLC')\n", + "('威剛 Ultimate SU800 512G', '威剛', 4899, 512, 560, 520, 'TLC')\n", + "('創見 230S系列 128G', '創見', 1749, 128, 560, 520, 'TLC')\n", + "('創見 230S系列 256G', '創見', 2849, 256, 560, 520, 'TLC')\n", + "('創見 230S系列 512G', '創見', 5299, 512, 560, 520, 'TLC')\n", + "('創見 340K系列 128G', '創見', 1680, 128, 520, 150, 'MLC')\n", + "('創見 340K系列 256G', '創見', 2900, 256, 520, 290, 'MLC')\n", + "('創見 370S系列 128G', '創見', 1850, 128, 570, 170, 'MLC')\n", + "('創見 370S系列 256G', '創見', 3570, 256, 570, 310, 'MLC')\n", + "('創見 370S系列 512G', '創見', 5888, 512, 570, 470, 'MLC')\n", + "('創見 370S系列 1TB', '創見', 12600, 1000, 560, 460, 'MLC')\n", + "('Toshiba A100 240G', 'Toshiba', 2650, 240, 550, 480, 'TLC')\n", + "('美光 MX300 275G', '美光', 2750, 275, 530, 500, 'TLC')\n", + "('美光 MX300 525G', '美光', 4399, 525, 530, 510, 'TLC')\n", + "('美光 MX300 1050G', '美光', 8950, 1050, 530, 510, 'TLC')\n", + "('美光 MX300 2050G', '美光', 18400, 2050, 530, 510, 'TLC')\n", + "('WD Green 120G(綠標)', 'WD', 1499, 120, 540, 430, 'TLC')\n", + "('WD Blue 250G(藍標)', 'WD', 2499, 250, 540, 500, 'TLC')\n", + "('WD Blue 500G(藍標)', 'WD', 4650, 500, 545, 525, 'TLC')\n", + "('WD Blue 1TB(藍標)', 'WD', 8800, 1000, 545, 525, 'TLC')\n" + ] + } + ], + "source": [ + "for row in cur.execute(\"SELECT * FROM ssd;\"):\n", + " print(row)" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "db.close()" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Collecting PyMySQL\n", + " Downloading PyMySQL-0.7.11-py2.py3-none-any.whl (78kB)\n", + "\u001b[K 100% |████████████████████████████████| 81kB 473kB/s ta 0:00:01\n", + "\u001b[?25hInstalling collected packages: PyMySQL\n", + "Successfully installed PyMySQL-0.7.11\n" + ] + } + ], + "source": [ + "!pip install PyMySQL" + ] + }, + { + "cell_type": "code", + "execution_count": 154, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import pymysql" + ] + }, + { + "cell_type": "code", + "execution_count": 249, + "metadata": {}, + "outputs": [], + "source": [ + "db = pymysql.connect(user='root',charset='utf8')\n", + "cur = db.cursor()" + ] + }, + { + "cell_type": "code", + "execution_count": 252, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 252, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#cur.execute(\"DROP DATABASE ssd;\")" + ] + }, + { + "cell_type": "code", + "execution_count": 253, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 253, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cur.execute(\"CREATE DATABASE ssd DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;\")\n", + "cur.execute(\"USE ssd;\")\n", + "cur.execute(\"\"\"CREATE TABLE ssd (\n", + "id MEDIUMINT NOT NULL AUTO_INCREMENT,\n", + "name varchar(255),\n", + "brand varchar(255),\n", + "price int,\n", + "capacity int,\n", + "read_speed int,\n", + "write_speed int,\n", + "flash varchar(255),\n", + "PRIMARY KEY (id));\"\"\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 254, + "metadata": {}, + "outputs": [], + "source": [ + "bulk_data = []\n", + "for row in result:\n", + " data = (row['name'],row['brand'],row['price'],row['cap'],row['read'],row['write'],row['flash'])\n", + " bulk_data.append(data)" + ] + }, + { + "cell_type": "code", + "execution_count": 255, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[('金士頓 A400 240G', '金士頓', 2600, 240, 500, 450, 'TLC'),\n", + " ('金士頓 A400 480G', '金士頓', 4588, 480, 500, 450, 'TLC'),\n", + " ('金士頓SSDNow UV400 240G雞年限定版(含升級套件組)【三年保】, $2988',\n", + " '金士頓SSDNow',\n", + " 2988,\n", + " 240,\n", + " 0,\n", + " 0,\n", + " ''),\n", + " ('金士頓 UV400 120G', '金士頓', 1650, 120, 550, 350, 'TLC'),\n", + " ('金士頓 UV400 240G', '金士頓', 2630, 240, 550, 490, 'TLC'),\n", + " ('金士頓 UV400 240G', '金士頓', 2580, 240, 550, 490, 'TLC'),\n", + " ('金士頓 UV400 480G', '金士頓', 4288, 480, 550, 500, 'TLC'),\n", + " ('金士頓 UV400 960G', '金士頓', 9100, 960, 550, 500, 'TLC'),\n", + " ('金士頓 V300 240G', '金士頓', 2650, 240, 450, 450, 'MLC'),\n", + " ('金士頓 HyperX FURY 120G', '金士頓', 1750, 120, 500, 500, 'MLC'),\n", + " ('UMAX S300 240G', 'UMAX', 2299, 240, 540, 490, 'TLC'),\n", + " ('UMAX S350 256GB ', 'UMAX', 2588, 256, 560, 500, ''),\n", + " ('SanDisk X400 128G', 'SanDisk', 1770, 128, 540, 340, 'TLC'),\n", + " ('SanDisk X400 256G', 'SanDisk', 2990, 256, 540, 520, 'TLC'),\n", + " ('SanDisk X400 512G', 'SanDisk', 5199, 512, 540, 520, 'TLC'),\n", + " ('SanDisk X400 1TB', 'SanDisk', 10150, 1000, 540, 520, 'TLC'),\n", + " ('Liteon MUIII 240G', 'Liteon', 2250, 240, 555, 470, 'TLC'),\n", + " ('Liteon MUIII Rock 120G', 'Liteon', 1690, 120, 530, 290, 'MLC'),\n", + " ('Liteon MUIII Rock 240G', 'Liteon', 2750, 240, 530, 420, 'MLC'),\n", + " ('Intel DC S3520系列 150G', 'Intel', 2999, 150, 450, 380, 'MLC'),\n", + " ('Intel 540s系列 480G', 'Intel', 5500, 480, 560, 480, 'TLC'),\n", + " ('威剛 Ultimate SU800 128G', '威剛', 1580, 128, 560, 520, 'TLC'),\n", + " ('威剛 Ultimate SU800 256G', '威剛', 2750, 256, 560, 520, 'TLC'),\n", + " ('威剛 Ultimate SU800 512G', '威剛', 4899, 512, 560, 520, 'TLC'),\n", + " ('創見 230S系列 128G', '創見', 1749, 128, 560, 520, 'TLC'),\n", + " ('創見 230S系列 128G', '創見', 1550, 128, 560, 520, 'TLC'),\n", + " ('創見 230S系列 256G', '創見', 2849, 256, 560, 520, 'TLC'),\n", + " ('創見 230S系列 256G', '創見', 2688, 256, 560, 520, 'TLC'),\n", + " ('創見 230S系列 512G', '創見', 5299, 512, 560, 520, 'TLC'),\n", + " ('創見 230S系列 512G', '創見', 4888, 512, 560, 520, 'TLC'),\n", + " ('創見 340K系列 128G', '創見', 1680, 128, 520, 150, 'MLC'),\n", + " ('創見 340K系列 128G', '創見', 1599, 128, 520, 150, 'MLC'),\n", + " ('創見 340K系列 256G', '創見', 2900, 256, 520, 290, 'MLC'),\n", + " ('創見 370S系列 128G', '創見', 1850, 128, 570, 170, 'MLC'),\n", + " ('創見 370S系列 256G', '創見', 3570, 256, 570, 310, 'MLC'),\n", + " ('創見 370S系列 512G', '創見', 5888, 512, 570, 470, 'MLC'),\n", + " ('創見 370S系列 1TB', '創見', 12600, 1000, 560, 460, 'MLC'),\n", + " ('Toshiba A100 240G', 'Toshiba', 2650, 240, 550, 480, 'TLC'),\n", + " ('美光 MX300 275G', '美光', 2750, 275, 530, 500, 'TLC'),\n", + " ('美光 MX300 525G', '美光', 4399, 525, 530, 510, 'TLC'),\n", + " ('美光 MX300 525G', '美光', 4250, 525, 530, 510, 'TLC'),\n", + " ('美光 MX300 1050G', '美光', 8950, 1050, 530, 510, 'TLC'),\n", + " ('美光 MX300 1050G', '美光', 8500, 1050, 530, 510, 'TLC'),\n", + " ('美光 MX300 2050G', '美光', 18400, 2050, 530, 510, 'TLC'),\n", + " ('WD Green 120G(綠標)', 'WD', 1499, 120, 540, 430, 'TLC'),\n", + " ('WD Blue 250G(藍標)', 'WD', 2499, 250, 540, 500, 'TLC'),\n", + " ('WD Blue 500G(藍標)', 'WD', 4650, 500, 545, 525, 'TLC'),\n", + " ('WD Blue 1TB(藍標)', 'WD', 8800, 1000, 545, 525, 'TLC')]" + ] + }, + "execution_count": 255, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bulk_data" + ] + }, + { + "cell_type": "code", + "execution_count": 256, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "48" + ] + }, + "execution_count": 256, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cur.executemany(\"INSERT INTO ssd (name,brand,price,capacity,read_speed,write_speed,flash) VALUES (%s,%s,%s,%s,%s,%s,%s);\",bulk_data)" + ] + }, + { + "cell_type": "code", + "execution_count": 260, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "48" + ] + }, + "execution_count": 260, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cur.execute(\"SELECT * FROM ssd;\")" + ] + }, + { + "cell_type": "code", + "execution_count": 285, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(25, '創見 230S系列 128G', '創見', 1749, 128, 560, 520, 'TLC')" + ] + }, + "execution_count": 285, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cur.fetchone()" + ] + }, + { + "cell_type": "code", + "execution_count": 289, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# DictCursor!" + ] + }, + { + "cell_type": "code", + "execution_count": 286, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "dict_cur = db.cursor(pymysql.cursors.DictCursor)" + ] + }, + { + "cell_type": "code", + "execution_count": 287, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "48" + ] + }, + "execution_count": 287, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dict_cur.execute(\"SELECT * FROM ssd;\")" + ] + }, + { + "cell_type": "code", + "execution_count": 288, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'id': 1, 'name': '金士頓 A400 240G', 'brand': '金士頓', 'price': 2600, 'capacity': 240, 'read_speed': 500, 'write_speed': 450, 'flash': 'TLC'}\n", + "{'id': 2, 'name': '金士頓 A400 480G', 'brand': '金士頓', 'price': 4588, 'capacity': 480, 'read_speed': 500, 'write_speed': 450, 'flash': 'TLC'}\n", + "{'id': 3, 'name': '金士頓SSDNow UV400 240G雞年限定版(含升級套件組)【三年保】, $2988', 'brand': '金士頓SSDNow', 'price': 2988, 'capacity': 240, 'read_speed': 0, 'write_speed': 0, 'flash': ''}\n", + "{'id': 4, 'name': '金士頓 UV400 120G', 'brand': '金士頓', 'price': 1650, 'capacity': 120, 'read_speed': 550, 'write_speed': 350, 'flash': 'TLC'}\n", + "{'id': 5, 'name': '金士頓 UV400 240G', 'brand': '金士頓', 'price': 2630, 'capacity': 240, 'read_speed': 550, 'write_speed': 490, 'flash': 'TLC'}\n", + "{'id': 6, 'name': '金士頓 UV400 240G', 'brand': '金士頓', 'price': 2580, 'capacity': 240, 'read_speed': 550, 'write_speed': 490, 'flash': 'TLC'}\n", + "{'id': 7, 'name': '金士頓 UV400 480G', 'brand': '金士頓', 'price': 4288, 'capacity': 480, 'read_speed': 550, 'write_speed': 500, 'flash': 'TLC'}\n", + "{'id': 8, 'name': '金士頓 UV400 960G', 'brand': '金士頓', 'price': 9100, 'capacity': 960, 'read_speed': 550, 'write_speed': 500, 'flash': 'TLC'}\n", + "{'id': 9, 'name': '金士頓 V300 240G', 'brand': '金士頓', 'price': 2650, 'capacity': 240, 'read_speed': 450, 'write_speed': 450, 'flash': 'MLC'}\n", + "{'id': 10, 'name': '金士頓 HyperX FURY 120G', 'brand': '金士頓', 'price': 1750, 'capacity': 120, 'read_speed': 500, 'write_speed': 500, 'flash': 'MLC'}\n", + "{'id': 11, 'name': 'UMAX S300 240G', 'brand': 'UMAX', 'price': 2299, 'capacity': 240, 'read_speed': 540, 'write_speed': 490, 'flash': 'TLC'}\n", + "{'id': 12, 'name': 'UMAX S350 256GB ', 'brand': 'UMAX', 'price': 2588, 'capacity': 256, 'read_speed': 560, 'write_speed': 500, 'flash': ''}\n", + "{'id': 13, 'name': 'SanDisk X400 128G', 'brand': 'SanDisk', 'price': 1770, 'capacity': 128, 'read_speed': 540, 'write_speed': 340, 'flash': 'TLC'}\n", + "{'id': 14, 'name': 'SanDisk X400 256G', 'brand': 'SanDisk', 'price': 2990, 'capacity': 256, 'read_speed': 540, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 15, 'name': 'SanDisk X400 512G', 'brand': 'SanDisk', 'price': 5199, 'capacity': 512, 'read_speed': 540, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 16, 'name': 'SanDisk X400 1TB', 'brand': 'SanDisk', 'price': 10150, 'capacity': 1000, 'read_speed': 540, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 17, 'name': 'Liteon MUIII 240G', 'brand': 'Liteon', 'price': 2250, 'capacity': 240, 'read_speed': 555, 'write_speed': 470, 'flash': 'TLC'}\n", + "{'id': 18, 'name': 'Liteon MUIII Rock 120G', 'brand': 'Liteon', 'price': 1690, 'capacity': 120, 'read_speed': 530, 'write_speed': 290, 'flash': 'MLC'}\n", + "{'id': 19, 'name': 'Liteon MUIII Rock 240G', 'brand': 'Liteon', 'price': 2750, 'capacity': 240, 'read_speed': 530, 'write_speed': 420, 'flash': 'MLC'}\n", + "{'id': 20, 'name': 'Intel DC S3520系列 150G', 'brand': 'Intel', 'price': 2999, 'capacity': 150, 'read_speed': 450, 'write_speed': 380, 'flash': 'MLC'}\n", + "{'id': 21, 'name': 'Intel 540s系列 480G', 'brand': 'Intel', 'price': 5500, 'capacity': 480, 'read_speed': 560, 'write_speed': 480, 'flash': 'TLC'}\n", + "{'id': 22, 'name': '威剛 Ultimate SU800 128G', 'brand': '威剛', 'price': 1580, 'capacity': 128, 'read_speed': 560, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 23, 'name': '威剛 Ultimate SU800 256G', 'brand': '威剛', 'price': 2750, 'capacity': 256, 'read_speed': 560, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 24, 'name': '威剛 Ultimate SU800 512G', 'brand': '威剛', 'price': 4899, 'capacity': 512, 'read_speed': 560, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 25, 'name': '創見 230S系列 128G', 'brand': '創見', 'price': 1749, 'capacity': 128, 'read_speed': 560, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 26, 'name': '創見 230S系列 128G', 'brand': '創見', 'price': 1550, 'capacity': 128, 'read_speed': 560, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 27, 'name': '創見 230S系列 256G', 'brand': '創見', 'price': 2849, 'capacity': 256, 'read_speed': 560, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 28, 'name': '創見 230S系列 256G', 'brand': '創見', 'price': 2688, 'capacity': 256, 'read_speed': 560, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 29, 'name': '創見 230S系列 512G', 'brand': '創見', 'price': 5299, 'capacity': 512, 'read_speed': 560, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 30, 'name': '創見 230S系列 512G', 'brand': '創見', 'price': 4888, 'capacity': 512, 'read_speed': 560, 'write_speed': 520, 'flash': 'TLC'}\n", + "{'id': 31, 'name': '創見 340K系列 128G', 'brand': '創見', 'price': 1680, 'capacity': 128, 'read_speed': 520, 'write_speed': 150, 'flash': 'MLC'}\n", + "{'id': 32, 'name': '創見 340K系列 128G', 'brand': '創見', 'price': 1599, 'capacity': 128, 'read_speed': 520, 'write_speed': 150, 'flash': 'MLC'}\n", + "{'id': 33, 'name': '創見 340K系列 256G', 'brand': '創見', 'price': 2900, 'capacity': 256, 'read_speed': 520, 'write_speed': 290, 'flash': 'MLC'}\n", + "{'id': 34, 'name': '創見 370S系列 128G', 'brand': '創見', 'price': 1850, 'capacity': 128, 'read_speed': 570, 'write_speed': 170, 'flash': 'MLC'}\n", + "{'id': 35, 'name': '創見 370S系列 256G', 'brand': '創見', 'price': 3570, 'capacity': 256, 'read_speed': 570, 'write_speed': 310, 'flash': 'MLC'}\n", + "{'id': 36, 'name': '創見 370S系列 512G', 'brand': '創見', 'price': 5888, 'capacity': 512, 'read_speed': 570, 'write_speed': 470, 'flash': 'MLC'}\n", + "{'id': 37, 'name': '創見 370S系列 1TB', 'brand': '創見', 'price': 12600, 'capacity': 1000, 'read_speed': 560, 'write_speed': 460, 'flash': 'MLC'}\n", + "{'id': 38, 'name': 'Toshiba A100 240G', 'brand': 'Toshiba', 'price': 2650, 'capacity': 240, 'read_speed': 550, 'write_speed': 480, 'flash': 'TLC'}\n", + "{'id': 39, 'name': '美光 MX300 275G', 'brand': '美光', 'price': 2750, 'capacity': 275, 'read_speed': 530, 'write_speed': 500, 'flash': 'TLC'}\n", + "{'id': 40, 'name': '美光 MX300 525G', 'brand': '美光', 'price': 4399, 'capacity': 525, 'read_speed': 530, 'write_speed': 510, 'flash': 'TLC'}\n", + "{'id': 41, 'name': '美光 MX300 525G', 'brand': '美光', 'price': 4250, 'capacity': 525, 'read_speed': 530, 'write_speed': 510, 'flash': 'TLC'}\n", + "{'id': 42, 'name': '美光 MX300 1050G', 'brand': '美光', 'price': 8950, 'capacity': 1050, 'read_speed': 530, 'write_speed': 510, 'flash': 'TLC'}\n", + "{'id': 43, 'name': '美光 MX300 1050G', 'brand': '美光', 'price': 8500, 'capacity': 1050, 'read_speed': 530, 'write_speed': 510, 'flash': 'TLC'}\n", + "{'id': 44, 'name': '美光 MX300 2050G', 'brand': '美光', 'price': 18400, 'capacity': 2050, 'read_speed': 530, 'write_speed': 510, 'flash': 'TLC'}\n", + "{'id': 45, 'name': 'WD Green 120G(綠標)', 'brand': 'WD', 'price': 1499, 'capacity': 120, 'read_speed': 540, 'write_speed': 430, 'flash': 'TLC'}\n", + "{'id': 46, 'name': 'WD Blue 250G(藍標)', 'brand': 'WD', 'price': 2499, 'capacity': 250, 'read_speed': 540, 'write_speed': 500, 'flash': 'TLC'}\n", + "{'id': 47, 'name': 'WD Blue 500G(藍標)', 'brand': 'WD', 'price': 4650, 'capacity': 500, 'read_speed': 545, 'write_speed': 525, 'flash': 'TLC'}\n", + "{'id': 48, 'name': 'WD Blue 1TB(藍標)', 'brand': 'WD', 'price': 8800, 'capacity': 1000, 'read_speed': 545, 'write_speed': 525, 'flash': 'TLC'}\n" + ] + } + ], + "source": [ + "for row in dict_cur:\n", + " print(row)" + ] + }, { "cell_type": "code", "execution_count": null,