diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git "a/Selenium \350\207\252\345\212\250\345\214\226\347\210\254\350\231\253.pdf" "b/Selenium \350\207\252\345\212\250\345\214\226\347\210\254\350\231\253.pdf" deleted file mode 100644 index 9488df8..0000000 Binary files "a/Selenium \350\207\252\345\212\250\345\214\226\347\210\254\350\231\253.pdf" and /dev/null differ diff --git "a/Selenium\350\207\252\345\212\250\345\214\226\346\265\213\350\257\225.pdf" "b/Selenium\350\207\252\345\212\250\345\214\226\346\265\213\350\257\225.pdf" new file mode 100644 index 0000000..a23d419 Binary files /dev/null and "b/Selenium\350\207\252\345\212\250\345\214\226\346\265\213\350\257\225.pdf" differ diff --git "a/EXCEL\350\241\250\346\240\274/\351\231\204\345\275\225/GIT\345\210\206\345\270\203\345\274\217\347\211\210\346\234\254\347\256\241\347\220\206\347\263\273\347\273\237\342\200\224\342\200\224git\345\270\270\347\224\250\345\221\275\344\273\244\345\210\227\350\241\250.xlsx" "b/content/appendix/data/GIT\345\210\206\345\270\203\345\274\217\347\211\210\346\234\254\347\256\241\347\220\206\347\263\273\347\273\237\342\200\224\342\200\224git\345\270\270\347\224\250\345\221\275\344\273\244\345\210\227\350\241\250.xlsx" similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\351\231\204\345\275\225/GIT\345\210\206\345\270\203\345\274\217\347\211\210\346\234\254\347\256\241\347\220\206\347\263\273\347\273\237\342\200\224\342\200\224git\345\270\270\347\224\250\345\221\275\344\273\244\345\210\227\350\241\250.xlsx" rename to "content/appendix/data/GIT\345\210\206\345\270\203\345\274\217\347\211\210\346\234\254\347\256\241\347\220\206\347\263\273\347\273\237\342\200\224\342\200\224git\345\270\270\347\224\250\345\221\275\344\273\244\345\210\227\350\241\250.xlsx" diff --git "a/EXCEL\350\241\250\346\240\274/\351\231\204\345\275\225/\346\200\216\346\240\267\351\230\205\350\257\273\346\272\220\347\240\201\342\200\224\342\200\224\347\264\240\346\235\220.xlsx" "b/content/appendix/data/\346\200\216\346\240\267\351\230\205\350\257\273\346\272\220\347\240\201\342\200\224\342\200\224\347\264\240\346\235\220.xlsx" similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\351\231\204\345\275\225/\346\200\216\346\240\267\351\230\205\350\257\273\346\272\220\347\240\201\342\200\224\342\200\224\347\264\240\346\235\220.xlsx" rename to "content/appendix/data/\346\200\216\346\240\267\351\230\205\350\257\273\346\272\220\347\240\201\342\200\224\342\200\224\347\264\240\346\235\220.xlsx" diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\344\270\200\347\253\240/Selenium-\345\216\206\345\217\262.xlsx" "b/content/ch01/data/Selenium-\345\216\206\345\217\262.xlsx" similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\344\270\200\347\253\240/Selenium-\345\216\206\345\217\262.xlsx" rename to "content/ch01/data/Selenium-\345\216\206\345\217\262.xlsx" diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-1.png" b/content/ch01/images/1-1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-1.png" rename to content/ch01/images/1-1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-2.png" b/content/ch01/images/1-2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-2.png" rename to content/ch01/images/1-2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-3.png" b/content/ch01/images/1-3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-3.png" rename to content/ch01/images/1-3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-4.png" b/content/ch01/images/1-4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-4.png" rename to content/ch01/images/1-4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-5.png" b/content/ch01/images/1-5.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1-5.png" rename to content/ch01/images/1-5.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1.png" b/content/ch01/images/1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\200\347\253\240/1.png" rename to content/ch01/images/1.png diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.1.py" b/content/ch02/code/2.1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.1.py" rename to content/ch02/code/2.1.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.2.1.py" b/content/ch02/code/2.2.1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.2.1.py" rename to content/ch02/code/2.2.1.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.2.2.py" b/content/ch02/code/2.2.2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.2.2.py" rename to content/ch02/code/2.2.2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.3.py" b/content/ch02/code/2.3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.3.py" rename to content/ch02/code/2.3.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.4.py" b/content/ch02/code/2.4.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.4.py" rename to content/ch02/code/2.4.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.5.py" b/content/ch02/code/2.5.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.5.py" rename to content/ch02/code/2.5.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.6.1.py" b/content/ch02/code/2.6.1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.6.1.py" rename to content/ch02/code/2.6.1.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.6.2.py" b/content/ch02/code/2.6.2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.6.2.py" rename to content/ch02/code/2.6.2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.6.3.py" b/content/ch02/code/2.6.3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.6.3.py" rename to content/ch02/code/2.6.3.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.7.py" b/content/ch02/code/2.7.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.7.py" rename to content/ch02/code/2.7.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.9.py" b/content/ch02/code/2.9.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\214\347\253\240/2.9.py" rename to content/ch02/code/2.9.py diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\344\272\214\347\253\240/\347\211\210\346\234\254\345\257\271\347\205\247\350\241\250.xlsx" "b/content/ch02/data/\347\211\210\346\234\254\345\257\271\347\205\247\350\241\250.xlsx" similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\344\272\214\347\253\240/\347\211\210\346\234\254\345\257\271\347\205\247\350\241\250.xlsx" rename to "content/ch02/data/\347\211\210\346\234\254\345\257\271\347\205\247\350\241\250.xlsx" diff --git "a/\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-1.png" b/content/ch02/images/2-1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-1.png" rename to content/ch02/images/2-1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-2.png" b/content/ch02/images/2-2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-2.png" rename to content/ch02/images/2-2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-3.png" b/content/ch02/images/2-3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-3.png" rename to content/ch02/images/2-3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-4.png" b/content/ch02/images/2-4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-4.png" rename to content/ch02/images/2-4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-5.png" b/content/ch02/images/2-5.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-5.png" rename to content/ch02/images/2-5.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-6.png" b/content/ch02/images/2-6.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/2-6.png" rename to content/ch02/images/2-6.png diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3,5.py" b/content/ch03/code/3,5.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3,5.py" rename to content/ch03/code/3,5.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.1.py" b/content/ch03/code/3.1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.1.py" rename to content/ch03/code/3.1.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.2.py" b/content/ch03/code/3.2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.2.py" rename to content/ch03/code/3.2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.3.1.py" b/content/ch03/code/3.3.1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.3.1.py" rename to content/ch03/code/3.3.1.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.3.py" b/content/ch03/code/3.3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.3.py" rename to content/ch03/code/3.3.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.4.py" b/content/ch03/code/3.4.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.4.py" rename to content/ch03/code/3.4.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.6.py" b/content/ch03/code/3.6.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.6.py" rename to content/ch03/code/3.6.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.7.py" b/content/ch03/code/3.7.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.7.py" rename to content/ch03/code/3.7.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.8.py" b/content/ch03/code/3.8.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\211\347\253\240/3.8.py" rename to content/ch03/code/3.8.py diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.1.png" b/content/ch03/images/3.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.1.png" rename to content/ch03/images/3.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.2.png" b/content/ch03/images/3.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.2.png" rename to content/ch03/images/3.2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.3.png" b/content/ch03/images/3.3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.3.png" rename to content/ch03/images/3.3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.4.png" b/content/ch03/images/3.4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.4.png" rename to content/ch03/images/3.4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.5.png" b/content/ch03/images/3.5.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.5.png" rename to content/ch03/images/3.5.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.6.png" b/content/ch03/images/3.6.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\211\347\253\240/3.6.png" rename to content/ch03/images/3.6.png diff --git "a/\344\273\243\347\240\201/\347\254\254\345\233\233\347\253\240/1.py" b/content/ch04/code/1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\233\233\347\253\240/1.py" rename to content/ch04/code/1.py diff --git "a/\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/4.1.png" b/content/ch04/images/4.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/4.1.png" rename to content/ch04/images/4.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/4.2.png" b/content/ch04/images/4.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/4.2.png" rename to content/ch04/images/4.2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/bing_1.png" b/content/ch04/images/bing_1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/bing_1.png" rename to content/ch04/images/bing_1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/bing_2.png" b/content/ch04/images/bing_2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/bing_2.png" rename to content/ch04/images/bing_2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/bing_3.png" b/content/ch04/images/bing_3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\233\233\347\253\240/bing_3.png" rename to content/ch04/images/bing_3.png diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.1.py" b/content/ch05/code/5.1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.1.py" rename to content/ch05/code/5.1.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.2.py" b/content/ch05/code/5.2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.2.py" rename to content/ch05/code/5.2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.3.py" b/content/ch05/code/5.3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.3.py" rename to content/ch05/code/5.3.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.4.py" b/content/ch05/code/5.4.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.4.py" rename to content/ch05/code/5.4.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.5.py" b/content/ch05/code/5.5.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.5.py" rename to content/ch05/code/5.5.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.6.py" b/content/ch05/code/5.6.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.6.py" rename to content/ch05/code/5.6.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.7.py" b/content/ch05/code/5.7.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.7.py" rename to content/ch05/code/5.7.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.8.py" b/content/ch05/code/5.8.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\272\224\347\253\240/5.8.py" rename to content/ch05/code/5.8.py diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\344\272\224\347\253\240/EC\350\241\250\346\240\274.xlsx" "b/content/ch05/data/EC\350\241\250\346\240\274.xlsx" similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\344\272\224\347\253\240/EC\350\241\250\346\240\274.xlsx" rename to "content/ch05/data/EC\350\241\250\346\240\274.xlsx" diff --git "a/\345\233\276\347\211\207/\347\254\254\344\272\224\347\253\240/5.1.png" b/content/ch05/images/5.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\272\224\347\253\240/5.1.png" rename to content/ch05/images/5.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\272\224\347\253\240/5.2.png" b/content/ch05/images/5.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\272\224\347\253\240/5.2.png" rename to content/ch05/images/5.2.png diff --git a/content/ch06/code/6.1.py b/content/ch06/code/6.1.py new file mode 100644 index 0000000..38ec903 --- /dev/null +++ b/content/ch06/code/6.1.py @@ -0,0 +1,11 @@ +#导入库 +from selenium import webdriver + +#打开浏览器和网页 +dr=webdriver.Chrome() +dr.get('http://top.baidu.com/') + +#整合 Xpath +for i in range(10): + xpath='//*[@id="hot-list"]/li['+str(i+1)+']/a[1]' + print(dr.find_element_by_xpath(xpath).get_attribute('title')) diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/6.2.py" b/content/ch06/code/6.2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/6.2.py" rename to content/ch06/code/6.2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/6.3.py" b/content/ch06/code/6.3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/6.3.py" rename to content/ch06/code/6.3.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/6.4.py" b/content/ch06/code/6.4.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/6.4.py" rename to content/ch06/code/6.4.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/from selenium import webdriver.py" b/content/ch06/code/from selenium import webdriver.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/from selenium import webdriver.py" rename to content/ch06/code/from selenium import webdriver.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/pc.py" b/content/ch06/code/pc.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/pc.py" rename to content/ch06/code/pc.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/pc3.py" b/content/ch06/code/pc3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/pc3.py" rename to content/ch06/code/pc3.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/pc6.py" b/content/ch06/code/pc6.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/pc6.py" rename to content/ch06/code/pc6.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/rc.py" b/content/ch06/code/rc.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/rc.py" rename to content/ch06/code/rc.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/time.py" b/content/ch06/code/time.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\255\347\253\240/time.py" rename to content/ch06/code/time.py diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\345\205\255\347\253\240/jjtt.csv" b/content/ch06/data/jjtt.csv similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\345\205\255\347\253\240/jjtt.csv" rename to content/ch06/data/jjtt.csv diff --git "a/\345\233\276\347\211\207/\347\254\254\345\205\255\347\253\240/6.1.png" b/content/ch06/images/6.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\205\255\347\253\240/6.1.png" rename to content/ch06/images/6.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\205\255\347\253\240/6.2.png" b/content/ch06/images/6.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\205\255\347\253\240/6.2.png" rename to content/ch06/images/6.2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\205\255\347\253\240/6.3.png" b/content/ch06/images/6.3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\205\255\347\253\240/6.3.png" rename to content/ch06/images/6.3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\205\255\347\253\240/6.4.png" b/content/ch06/images/6.4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\205\255\347\253\240/6.4.png" rename to content/ch06/images/6.4.png diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/HASH_TEST.PY" b/content/ch07/code/HASH_TEST.PY similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/HASH_TEST.PY" rename to content/ch07/code/HASH_TEST.PY diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/NLTK2.py" b/content/ch07/code/NLTK2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/NLTK2.py" rename to content/ch07/code/NLTK2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/NLTK\350\257\215\346\200\247\345\210\206\346\236\220.py" "b/content/ch07/code/NLTK\350\257\215\346\200\247\345\210\206\346\236\220.py" similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/NLTK\350\257\215\346\200\247\345\210\206\346\236\220.py" rename to "content/ch07/code/NLTK\350\257\215\346\200\247\345\210\206\346\236\220.py" diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/base64_test.py" b/content/ch07/code/base64_test.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/base64_test.py" rename to content/ch07/code/base64_test.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/bloom_filter.py" b/content/ch07/code/bloom_filter.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/bloom_filter.py" rename to content/ch07/code/bloom_filter.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/csv.py" b/content/ch07/code/csv.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/csv.py" rename to content/ch07/code/csv.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/csv_read.py" b/content/ch07/code/csv_read.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/csv_read.py" rename to content/ch07/code/csv_read.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/csv_wtire.py" b/content/ch07/code/csv_wtire.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/csv_wtire.py" rename to content/ch07/code/csv_wtire.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/json_test.py" b/content/ch07/code/json_test.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/json_test.py" rename to content/ch07/code/json_test.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/json_test2.py" b/content/ch07/code/json_test2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/json_test2.py" rename to content/ch07/code/json_test2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/mysql_test.py" b/content/ch07/code/mysql_test.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/mysql_test.py" rename to content/ch07/code/mysql_test.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/nltk3.py" b/content/ch07/code/nltk3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/nltk3.py" rename to content/ch07/code/nltk3.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/py-mysql.py" b/content/ch07/code/py-mysql.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/py-mysql.py" rename to content/ch07/code/py-mysql.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/pymysql2.py" b/content/ch07/code/pymysql2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/pymysql2.py" rename to content/ch07/code/pymysql2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/test.blm" b/content/ch07/code/test.blm similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/test.blm" rename to content/ch07/code/test.blm diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/test.py" b/content/ch07/code/test.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/test.py" rename to content/ch07/code/test.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/xml_test.py" b/content/ch07/code/xml_test.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/xml_test.py" rename to content/ch07/code/xml_test.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/xml_test2.py" b/content/ch07/code/xml_test2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/xml_test2.py" rename to content/ch07/code/xml_test2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/xml_test3.py" b/content/ch07/code/xml_test3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\270\203\347\253\240/xml_test3.py" rename to content/ch07/code/xml_test3.py diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\344\270\203\347\253\240/city.csv" b/content/ch07/data/city.csv similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\344\270\203\347\253\240/city.csv" rename to content/ch07/data/city.csv diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\344\270\203\347\253\240/instance.csv" b/content/ch07/data/instance.csv similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\344\270\203\347\253\240/instance.csv" rename to content/ch07/data/instance.csv diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.1.png" b/content/ch07/images/7.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.1.png" rename to content/ch07/images/7.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.10.png" b/content/ch07/images/7.10.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.10.png" rename to content/ch07/images/7.10.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.11.png" b/content/ch07/images/7.11.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.11.png" rename to content/ch07/images/7.11.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.12.png" b/content/ch07/images/7.12.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.12.png" rename to content/ch07/images/7.12.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.13.png" b/content/ch07/images/7.13.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.13.png" rename to content/ch07/images/7.13.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.14.png" b/content/ch07/images/7.14.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.14.png" rename to content/ch07/images/7.14.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.2.png" b/content/ch07/images/7.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.2.png" rename to content/ch07/images/7.2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.3.png" b/content/ch07/images/7.3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.3.png" rename to content/ch07/images/7.3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.4.png" b/content/ch07/images/7.4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.4.png" rename to content/ch07/images/7.4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.5.png" b/content/ch07/images/7.5.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.5.png" rename to content/ch07/images/7.5.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.6.png" b/content/ch07/images/7.6.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.6.png" rename to content/ch07/images/7.6.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.7.png" b/content/ch07/images/7.7.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.7.png" rename to content/ch07/images/7.7.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.8.png" b/content/ch07/images/7.8.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.8.png" rename to content/ch07/images/7.8.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.9.png" b/content/ch07/images/7.9.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\270\203\347\253\240/7.9.png" rename to content/ch07/images/7.9.png diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\253\347\253\240/maoyan1.py" b/content/ch08/code/maoyan1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\253\347\253\240/maoyan1.py" rename to content/ch08/code/maoyan1.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\205\253\347\253\240/maoyan2.py" b/content/ch08/code/maoyan2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\205\253\347\253\240/maoyan2.py" rename to content/ch08/code/maoyan2.py diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\345\205\253\347\253\240/writer.csv" b/content/ch08/data/writer.csv similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\345\205\253\347\253\240/writer.csv" rename to content/ch08/data/writer.csv diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\345\205\253\347\253\240/writer1.csv" b/content/ch08/data/writer1.csv similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\345\205\253\347\253\240/writer1.csv" rename to content/ch08/data/writer1.csv diff --git "a/\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.1.png" b/content/ch08/images/8.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.1.png" rename to content/ch08/images/8.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.2.png" b/content/ch08/images/8.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.2.png" rename to content/ch08/images/8.2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.3.png" b/content/ch08/images/8.3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.3.png" rename to content/ch08/images/8.3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.4.png" b/content/ch08/images/8.4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.4.png" rename to content/ch08/images/8.4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.5.png" b/content/ch08/images/8.5.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\205\253\347\253\240/8.5.png" rename to content/ch08/images/8.5.png diff --git "a/\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/tb.py" b/content/ch09/code/tb.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/tb.py" rename to content/ch09/code/tb.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/tb_change.py" b/content/ch09/code/tb_change.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/tb_change.py" rename to content/ch09/code/tb_change.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/tb_change2.py" b/content/ch09/code/tb_change2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/tb_change2.py" rename to content/ch09/code/tb_change2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/test.py" b/content/ch09/code/test.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/test.py" rename to content/ch09/code/test.py diff --git "a/\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/test2.py" b/content/ch09/code/test2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\344\271\235\347\253\240/test2.py" rename to content/ch09/code/test2.py diff --git "a/\345\233\276\347\211\207/\347\254\254\344\271\235\347\253\240/9.1.png" b/content/ch09/images/9.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\271\235\347\253\240/9.1.png" rename to content/ch09/images/9.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\271\235\347\253\240/9.2.png" b/content/ch09/images/9.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\271\235\347\253\240/9.2.png" rename to content/ch09/images/9.2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\271\235\347\253\240/9.3.png" b/content/ch09/images/9.3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\271\235\347\253\240/9.3.png" rename to content/ch09/images/9.3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\344\271\235\347\253\240/\345\244\207\347\224\250.png" "b/content/ch09/images/\345\244\207\347\224\250.png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\344\271\235\347\253\240/\345\244\207\347\224\250.png" rename to "content/ch09/images/\345\244\207\347\224\250.png" diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/assert.py" b/content/ch10/code/assert.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/assert.py" rename to content/ch10/code/assert.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/book_unittest.py" b/content/ch10/code/book_unittest.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/book_unittest.py" rename to content/ch10/code/book_unittest.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/htmltestrunner.py" b/content/ch10/code/htmltestrunner.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/htmltestrunner.py" rename to content/ch10/code/htmltestrunner.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/library_book.py" b/content/ch10/code/library_book.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/library_book.py" rename to content/ch10/code/library_book.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/selenium_unittest.py" b/content/ch10/code/selenium_unittest.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/selenium_unittest.py" rename to content/ch10/code/selenium_unittest.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/test.py" b/content/ch10/code/test.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\347\253\240/test.py" rename to content/ch10/code/test.py diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\347\253\240/10.1.png" b/content/ch10/images/10.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\347\253\240/10.1.png" rename to content/ch10/images/10.1.png diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\200\347\253\240/thread.py" b/content/ch11/code/thread.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\200\347\253\240/thread.py" rename to content/ch11/code/thread.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\200\347\253\240/thread2.py" b/content/ch11/code/thread2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\200\347\253\240/thread2.py" rename to content/ch11/code/thread2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\200\347\253\240/thread_lock.py" b/content/ch11/code/thread_lock.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\200\347\253\240/thread_lock.py" rename to content/ch11/code/thread_lock.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\200\347\253\240/threadlock2.py" b/content/ch11/code/threadlock2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\200\347\253\240/threadlock2.py" rename to content/ch11/code/threadlock2.py diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\344\270\200\347\253\240/thread.xlsx" b/content/ch11/data/thread.xlsx similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\344\270\200\347\253\240/thread.xlsx" rename to content/ch11/data/thread.xlsx diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\344\272\214\347\253\240/SMTP.xlsx" b/content/ch12/data/SMTP.xlsx similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\344\272\214\347\253\240/SMTP.xlsx" rename to content/ch12/data/SMTP.xlsx diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.1.png" b/content/ch12/images/12.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.1.png" rename to content/ch12/images/12.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.2.png" b/content/ch12/images/12.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.2.png" rename to content/ch12/images/12.2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.3.png" b/content/ch12/images/12.3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.3.png" rename to content/ch12/images/12.3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.4.png" b/content/ch12/images/12.4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.4.png" rename to content/ch12/images/12.4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.6.png" b/content/ch12/images/12.6.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.6.png" rename to content/ch12/images/12.6.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.7.png" b/content/ch12/images/12.7.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/12.7.png" rename to content/ch12/images/12.7.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/\345\244\207\347\224\250.png" "b/content/ch12/images/\345\244\207\347\224\250.png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\214\347\253\240/\345\244\207\347\224\250.png" rename to "content/ch12/images/\345\244\207\347\224\250.png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.1.png" b/content/ch13/images/13.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.1.png" rename to content/ch13/images/13.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.10.png" b/content/ch13/images/13.10.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.10.png" rename to content/ch13/images/13.10.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.11.png" b/content/ch13/images/13.11.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.11.png" rename to content/ch13/images/13.11.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.12.png" b/content/ch13/images/13.12.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.12.png" rename to content/ch13/images/13.12.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.13.png" b/content/ch13/images/13.13.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.13.png" rename to content/ch13/images/13.13.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.14.png" b/content/ch13/images/13.14.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.14.png" rename to content/ch13/images/13.14.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.15.png" b/content/ch13/images/13.15.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.15.png" rename to content/ch13/images/13.15.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.16.png" b/content/ch13/images/13.16.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.16.png" rename to content/ch13/images/13.16.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.17.png" b/content/ch13/images/13.17.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.17.png" rename to content/ch13/images/13.17.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.18.png" b/content/ch13/images/13.18.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.18.png" rename to content/ch13/images/13.18.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.19.png" b/content/ch13/images/13.19.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.19.png" rename to content/ch13/images/13.19.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.2.png" b/content/ch13/images/13.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.2.png" rename to content/ch13/images/13.2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.20.png" b/content/ch13/images/13.20.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.20.png" rename to content/ch13/images/13.20.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.21.png" b/content/ch13/images/13.21.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.21.png" rename to content/ch13/images/13.21.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.22.png" b/content/ch13/images/13.22.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.22.png" rename to content/ch13/images/13.22.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.23.png" b/content/ch13/images/13.23.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.23.png" rename to content/ch13/images/13.23.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.3.png" b/content/ch13/images/13.3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.3.png" rename to content/ch13/images/13.3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.4.png" b/content/ch13/images/13.4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.4.png" rename to content/ch13/images/13.4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.5.png" b/content/ch13/images/13.5.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.5.png" rename to content/ch13/images/13.5.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.6.png" b/content/ch13/images/13.6.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.6.png" rename to content/ch13/images/13.6.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.7.png" b/content/ch13/images/13.7.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.7.png" rename to content/ch13/images/13.7.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.8.png" b/content/ch13/images/13.8.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.8.png" rename to content/ch13/images/13.8.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.9.png" b/content/ch13/images/13.9.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\211\347\253\240/13.9.png" rename to content/ch13/images/13.9.png diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\345\233\233\347\253\240/2to3/py2.py" b/content/ch14/code/2to3/py2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\345\233\233\347\253\240/2to3/py2.py" rename to content/ch14/code/2to3/py2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\345\233\233\347\253\240/2to3/py2.py.bak" b/content/ch14/code/2to3/py2.py.bak similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\345\233\233\347\253\240/2to3/py2.py.bak" rename to content/ch14/code/2to3/py2.py.bak diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\345\233\233\347\253\240/2to3/test.py" b/content/ch14/code/2to3/test.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\345\233\233\347\253\240/2to3/test.py" rename to content/ch14/code/2to3/test.py diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\345\233\233\347\253\240/Python\351\200\232\351\205\215\347\254\246.xlsx" "b/content/ch14/data/Python\351\200\232\351\205\215\347\254\246.xlsx" similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\345\233\233\347\253\240/Python\351\200\232\351\205\215\347\254\246.xlsx" rename to "content/ch14/data/Python\351\200\232\351\205\215\347\254\246.xlsx" diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\345\233\233\347\253\240/\347\261\273\345\236\213\350\275\254\346\215\242.xlsx" "b/content/ch14/data/\347\261\273\345\236\213\350\275\254\346\215\242.xlsx" similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\345\233\233\347\253\240/\347\261\273\345\236\213\350\275\254\346\215\242.xlsx" rename to "content/ch14/data/\347\261\273\345\236\213\350\275\254\346\215\242.xlsx" diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk1.py" b/content/ch15/code/tk1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk1.py" rename to content/ch15/code/tk1.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk10.py" b/content/ch15/code/tk10.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk10.py" rename to content/ch15/code/tk10.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk11.py" b/content/ch15/code/tk11.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk11.py" rename to content/ch15/code/tk11.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk12.py" b/content/ch15/code/tk12.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk12.py" rename to content/ch15/code/tk12.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk13.py" b/content/ch15/code/tk13.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk13.py" rename to content/ch15/code/tk13.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk14.py" b/content/ch15/code/tk14.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk14.py" rename to content/ch15/code/tk14.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk15.py" b/content/ch15/code/tk15.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk15.py" rename to content/ch15/code/tk15.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk16.py" b/content/ch15/code/tk16.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk16.py" rename to content/ch15/code/tk16.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk17.py" b/content/ch15/code/tk17.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk17.py" rename to content/ch15/code/tk17.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk18.py" b/content/ch15/code/tk18.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk18.py" rename to content/ch15/code/tk18.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk19.py" b/content/ch15/code/tk19.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk19.py" rename to content/ch15/code/tk19.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk2.py" b/content/ch15/code/tk2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk2.py" rename to content/ch15/code/tk2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk3.py" b/content/ch15/code/tk3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk3.py" rename to content/ch15/code/tk3.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk4.py" b/content/ch15/code/tk4.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk4.py" rename to content/ch15/code/tk4.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk5.py" b/content/ch15/code/tk5.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk5.py" rename to content/ch15/code/tk5.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk6.py" b/content/ch15/code/tk6.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk6.py" rename to content/ch15/code/tk6.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk7.py" b/content/ch15/code/tk7.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk7.py" rename to content/ch15/code/tk7.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk8.py" b/content/ch15/code/tk8.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk8.py" rename to content/ch15/code/tk8.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk9.py" b/content/ch15/code/tk9.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\272\224\347\253\240/tk9.py" rename to content/ch15/code/tk9.py diff --git "a/EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\344\272\224\347\253\240/\347\225\214\351\235\242\345\270\203\345\261\200.xlsx" "b/content/ch15/data/\347\225\214\351\235\242\345\270\203\345\261\200.xlsx" similarity index 100% rename from "EXCEL\350\241\250\346\240\274/\347\254\254\345\215\201\344\272\224\347\253\240/\347\225\214\351\235\242\345\270\203\345\261\200.xlsx" rename to "content/ch15/data/\347\225\214\351\235\242\345\270\203\345\261\200.xlsx" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.1.png" b/content/ch15/images/15.1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.1.png" rename to content/ch15/images/15.1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.10.png" b/content/ch15/images/15.10.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.10.png" rename to content/ch15/images/15.10.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.11.png" b/content/ch15/images/15.11.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.11.png" rename to content/ch15/images/15.11.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.12.png" b/content/ch15/images/15.12.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.12.png" rename to content/ch15/images/15.12.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.13.png" b/content/ch15/images/15.13.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.13.png" rename to content/ch15/images/15.13.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.14.png" b/content/ch15/images/15.14.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.14.png" rename to content/ch15/images/15.14.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.15.png" b/content/ch15/images/15.15.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.15.png" rename to content/ch15/images/15.15.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.16.png" b/content/ch15/images/15.16.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.16.png" rename to content/ch15/images/15.16.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.17.png" b/content/ch15/images/15.17.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.17.png" rename to content/ch15/images/15.17.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.18.png" b/content/ch15/images/15.18.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.18.png" rename to content/ch15/images/15.18.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.19.png" b/content/ch15/images/15.19.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.19.png" rename to content/ch15/images/15.19.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.2.png" b/content/ch15/images/15.2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.2.png" rename to content/ch15/images/15.2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.20.png" b/content/ch15/images/15.20.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.20.png" rename to content/ch15/images/15.20.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.21.png" b/content/ch15/images/15.21.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.21.png" rename to content/ch15/images/15.21.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.22.png" b/content/ch15/images/15.22.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.22.png" rename to content/ch15/images/15.22.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.23.png" b/content/ch15/images/15.23.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.23.png" rename to content/ch15/images/15.23.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.24.png" b/content/ch15/images/15.24.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.24.png" rename to content/ch15/images/15.24.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(1).png" b/content/ch15/images/15.25(1).png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(1).png" rename to content/ch15/images/15.25(1).png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(2).png" b/content/ch15/images/15.25(2).png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(2).png" rename to content/ch15/images/15.25(2).png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(3).png" b/content/ch15/images/15.25(3).png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(3).png" rename to content/ch15/images/15.25(3).png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(4).png" b/content/ch15/images/15.25(4).png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(4).png" rename to content/ch15/images/15.25(4).png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(5).png" b/content/ch15/images/15.25(5).png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.25(5).png" rename to content/ch15/images/15.25(5).png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.26.png" b/content/ch15/images/15.26.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.26.png" rename to content/ch15/images/15.26.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.27.png" b/content/ch15/images/15.27.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.27.png" rename to content/ch15/images/15.27.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.28.png" b/content/ch15/images/15.28.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.28.png" rename to content/ch15/images/15.28.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.29.png" b/content/ch15/images/15.29.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.29.png" rename to content/ch15/images/15.29.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.3.png" b/content/ch15/images/15.3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.3.png" rename to content/ch15/images/15.3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.30.png" b/content/ch15/images/15.30.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.30.png" rename to content/ch15/images/15.30.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.31.png" b/content/ch15/images/15.31.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.31.png" rename to content/ch15/images/15.31.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.32.png" b/content/ch15/images/15.32.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.32.png" rename to content/ch15/images/15.32.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.4.png" b/content/ch15/images/15.4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.4.png" rename to content/ch15/images/15.4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.5.png" b/content/ch15/images/15.5.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.5.png" rename to content/ch15/images/15.5.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.6.png" b/content/ch15/images/15.6.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.6.png" rename to content/ch15/images/15.6.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.7.png" b/content/ch15/images/15.7.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.7.png" rename to content/ch15/images/15.7.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.8.png" b/content/ch15/images/15.8.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.8.png" rename to content/ch15/images/15.8.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.9.png" b/content/ch15/images/15.9.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/15.9.png" rename to content/ch15/images/15.9.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (1).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (1).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (1).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (1).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (10).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (10).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (10).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (10).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (11).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (11).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (11).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (11).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (12).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (12).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (12).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (12).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (13).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (13).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (13).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (13).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (14).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (14).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (14).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (14).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (15).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (15).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (15).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (15).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (16).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (16).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (16).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (16).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (17).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (17).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (17).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (17).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (18).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (18).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (18).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (18).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (19).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (19).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (19).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (19).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (2).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (2).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (2).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (2).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (20).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (20).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (20).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (20).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (21).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (21).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (21).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (21).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (22).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (22).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (22).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (22).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (3).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (3).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (3).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (3).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (4).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (4).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (4).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (4).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (5).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (5).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (5).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (5).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (6).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (6).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (6).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (6).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (7).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (7).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (7).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (7).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (8).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (8).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (8).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (8).png" diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (9).png" "b/content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (9).png" similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\272\224\347\253\240/\345\244\207\347\224\250/\345\244\207\347\224\250 (9).png" rename to "content/ch15/images/\345\244\207\347\224\250/\345\244\207\347\224\250 (9).png" diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\345\205\255\347\253\240/16-2.py" b/content/ch16/code/16-2.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\345\205\255\347\253\240/16-2.py" rename to content/ch16/code/16-2.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\345\205\255\347\253\240/16-3.py" b/content/ch16/code/16-3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\345\205\255\347\253\240/16-3.py" rename to content/ch16/code/16-3.py diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-1.png" b/content/ch16/images/16-1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-1.png" rename to content/ch16/images/16-1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-2.png" b/content/ch16/images/16-2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-2.png" rename to content/ch16/images/16-2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-3.png" b/content/ch16/images/16-3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-3.png" rename to content/ch16/images/16-3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-4.png" b/content/ch16/images/16-4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-4.png" rename to content/ch16/images/16-4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-5.png" b/content/ch16/images/16-5.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-5.png" rename to content/ch16/images/16-5.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-6.png" b/content/ch16/images/16-6.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\345\205\255\347\253\240/16-6.png" rename to content/ch16/images/16-6.png diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\203\347\253\240/17.1.py" b/content/ch17/code/17.1.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\203\347\253\240/17.1.py" rename to content/ch17/code/17.1.py diff --git "a/\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\203\347\253\240/17.3.py" b/content/ch17/code/17.3.py similarity index 100% rename from "\344\273\243\347\240\201/\347\254\254\345\215\201\344\270\203\347\253\240/17.3.py" rename to content/ch17/code/17.3.py diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-1.png" b/content/ch17/images/17-1.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-1.png" rename to content/ch17/images/17-1.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-2.png" b/content/ch17/images/17-2.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-2.png" rename to content/ch17/images/17-2.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-3.png" b/content/ch17/images/17-3.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-3.png" rename to content/ch17/images/17-3.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-4.png" b/content/ch17/images/17-4.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-4.png" rename to content/ch17/images/17-4.png diff --git "a/\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-5.png" b/content/ch17/images/17-5.png similarity index 100% rename from "\345\233\276\347\211\207/\347\254\254\345\215\201\344\270\203\347\253\240/17-5.png" rename to content/ch17/images/17-5.png diff --git "a/docs/Selenium\350\207\252\345\212\250\345\214\226\347\210\254\350\231\253(\345\205\254\347\211\210).docx" "b/docs/Selenium\350\207\252\345\212\250\345\214\226\347\210\254\350\231\253(\345\205\254\347\211\210).docx" new file mode 100644 index 0000000..b00dc99 Binary files /dev/null and "b/docs/Selenium\350\207\252\345\212\250\345\214\226\347\210\254\350\231\253(\345\205\254\347\211\210).docx" differ diff --git "a/\345\206\205\345\256\271\347\256\200\344\273\213.docx" "b/docs/\345\206\205\345\256\271\347\256\200\344\273\213.docx" similarity index 100% rename from "\345\206\205\345\256\271\347\256\200\344\273\213.docx" rename to "docs/\345\206\205\345\256\271\347\256\200\344\273\213.docx" diff --git "a/\345\211\215\350\250\200.docx" "b/docs/\345\211\215\350\250\200.docx" similarity index 100% rename from "\345\211\215\350\250\200.docx" rename to "docs/\345\211\215\350\250\200.docx" diff --git "a/\347\233\256\345\275\225.docx" "b/docs/\347\233\256\345\275\225.docx" similarity index 100% rename from "\347\233\256\345\275\225.docx" rename to "docs/\347\233\256\345\275\225.docx" diff --git a/readme.md b/readme.md index 6b951df..a4aebd8 100644 --- a/readme.md +++ b/readme.md @@ -1,22 +1,6 @@ -#### -_我叫是河南郑州的一名高二学生,利用业余时间独立撰写了一份SELENIUM项目的中文文档,希望对你有帮助。_ +# Selenium 自动化测试 -![1.png](https://i.loli.net/2019/02/16/5c67a059358e9.png) -### Q 为什么要撰写一份Selenium的中文文档? - -A 其实刚开始,是打算写一个关于Selenim的专题,但后来写着写着,在不断的查阅资料中发现,网络上现有的中文文档大多介绍的很简单,一概而过,即便是较为知名的51testing.com的Selenium教程,也因为著于十年前,已经跟现在的测试框架具有较大的差异了。因此,我萌生了撰写一份完整的Selenium中文文档的想法。 - -### Q 这份文档写了多久? - -A 从中考结束的暑假就开始编写,期间因为学业的缘故中断过一次,到寒假又重新拾起笔来撰写,大概在高一下学期期末的时候完成。当时的文档还不太成熟,我想着再修修改改,期望做的更好一些,这就到了高二上学期结束后的暑假,终于修改到自认为这份文档比较成熟了,希望发布出去,为开源事业做一点贡献。 - -### Q 写的时候遇到过质疑吗? - -A 当然有,因为要编写文档,牺牲了很多自由时间, 很难把控学习和爱好之间的平衡,高一上学期期末的时候,成绩跌到全校一百名开外,那时候很难过,也被老师叫过去谈话过。 - -庆幸的是,我的父母从来没有因此责备过我,反而鼓励我继续下去,只是要把握好两者之间的平衡。同时感谢我的老师,尤其是耿明磊、张文霄老师,在我坚持不下去的时候,给予我鼓励。 - -**本书读者对象** +## 读者对象 - 测试自动化 - Web开发者 @@ -26,169 +10,72 @@ A 当然有,因为要编写文档,牺牲了很多自由时间, 很难把 - 数据分析工程师 - 系统运维工程师 +## 项目结构 -本书内容及体系结构 -------------- - -第1章 从Selenium开始 - -本章从起初入手,帮助读者了解Selenium项目的框架和由来,以及如何选择自己的WebDriver。接着介绍了在Windows和Linux两种操作系统下的Selenium安装方式。 - -第2章 页面导航 - -本章对Selenium项目和浏览器交互的基本操作内容进行了介绍和串讲。本章介绍了如何通过Selenium项目实现启动浏览器,打开浏览器,浏览器窗口切换等一系列的常用的浏览器操作的自动化。为后面的学习奠定基础。 - -第3章 元素定位 - -在第三章中笔者将会引领读者领略了Selenium的八种元素定位方式。通过对本章与前两章的内容的学习,读者可以初步掌握并实现一个略有雏形的自动化程序的能力。 - -第4章 利器----PhantomJS - -PhantomJS是一个独立的项目,可以实现绝大部分浏览器的功能。不同于其他的浏览器,PhantomJS只会在内存中运行,而不会显示任何界面。十分适合我们进行数据采集的时候使用。本章介绍了PhantomJS和Selenium搭配使用的方法。 - -第5章 实战part1——Python官网 - -本章是对前面所学的内容的一个综合整理运用。通过实战,帮助读者巩固已经学习过的知识,并且在实际操作中,锻炼读者的编程能力与思维。 - -第6章 实战part2——今日头条 - -以今日头条为例子,引入即将要学习的内容,本章主要讨论技术部分实现以及解决思路分析。目的在于帮助读者形成一个目录式的系统印象。 - -第7章 数据编解码、处理 - -在互联网中,难免要面对错综复杂的各种数据类型,这一章主要介绍以下内容:CSV、JSON、XML、BASE64、NLTK、HASH、Bloom Filter以及关系型数据库和非关系型数据库。 - -第8章 实战part3——猫眼电影 - -以猫眼电影为例子,详细讲解从了解客户需求到网站分析、处理的全套流程,并在分析中逐步引入代码的说明与实现。 - -第9章 实战part4——淘宝商品 - -在这一小节中,笔者以淘宝商品为例子,阐述如何应对复杂网站的页面数据采集,帮助诸位追赶较为新颖的实现方式,解决读者因难以下手而犹豫不决,无法直接应用的难题。 - -第10章 单元测试 - -解决单元测试是什么、为什么要写单元测试、应该怎么写单元测试这三个难题。帮助读者评估在自己的项目中是否要使用单元测试。 - -第11章 多线程 - -实现同步完成多项任务的功能,帮助读者提高程序的运行效率,解决时间。讨论线程、进程、线程切换、锁以及GIL等概念。 - -第12章 发送邮件 - -本章讨论程序反馈最低廉且合理的方式,通过实现自动化发送邮件,实现服务器(程序)无人值守情况下的报备以及记录 - -第13章 Selenium IDE - -介绍了两个简单且方便的录制自动化脚本的工具,为读者提供一条功能化的测试道路,快捷生成自动化脚本。 - -第14章 Python拓展 - -这一章节讨论包括但不限于:Python2代码转换Python3代码,测试类型,通配符,字符串方法,异常层次结构,类,推导式等等扩展性内容。 - -第15章 GUI,图形化测试 - -讨论制作图形化界面的方法并且介绍经常使用的组件,帮助读者实现测试工具图形化以及了解底层实现的思路。 - -第16章 实战案例part5 知乎 - -着重讨论Selenium项目和传统方式的爬虫的结合,实现一种全新的,功能更加强大的数据采集爬虫。 - -第17章 实战案例part6 微博 - -对全书的内容的整合提升,帮助读者巩固已经学过的知识,构筑全面的知识框架,了解自己的不足与缺陷。 - -### 关于本书的勘误: - -限于我能力不足,加之个人精力有限,本书难免有错误之处,如果您在阅读过程中遇到了问题,欢迎您联系我的QQ:206496795 -**勘误发布:** -http://note.youdao.com/noteshare?id=a7f0705acb54486b627de091ab277314&sub=94EB566C5FB441159FA82618AD3A9090 - -### 本书的获取: - -链接:https://www.lanzous.com/b588019/ -密码:9968 - -### 漫谈 - -我一直有一个想法,学习只是生活的一部分,我想要走出一条不同的轨迹,我不知道该怎样开口,不知道该用怎样的文字,把自己的心情完整记下来,让他们如挂在风墙边的的蓝色风铃般静静地挂在那里,静谧而美好。我想和你谈一谈梦想这个遥远而又熟悉的词汇。 - -不久之前,一位学姐写信向我诉苦,她说,和闺蜜一同去比赛,因为种种原因,她没有拿到奖项,而闺蜜不仅拿到了奖,而且是全校第一,每次回到宿舍,周围的同学总是在说闺蜜拿到了这个奖就可以怎样怎样。她感觉闺蜜夺走了属于她的光芒,因为以前,闺蜜的成绩远远不如她。在发自内心的替她感到的同时,又有一丝丝嫉妒。 - -良久沉吟,这或许是一种缺失,一种害怕不被人重视,害怕被世界遗忘的内心缺憾。 - -学姐也曾是一个骄傲的人,只不过现实和理想的巨大落差给了她重重一击,自己的现实和他人的情况对比又是一记重锤砸下,渐渐磨灭了她的骄傲。在社会的大磨盘下她从一个开始有棱有角的正方形,被打磨、抛光成一个光滑的球,又在一次又一次的刺激中逐渐变得麻木。 - -每个人都或多或少会有这种感觉,此刻,我想把我们探讨的结论转赠给你,愿致你以宁静。 - -这种缺失实际是孤独,内向,敏感,细腻导致了你的孤独。但不要因此而悲伤,正是孤独让你变得出众,而不是合群。阅读和思考是你获得能量最高效的方式,你总有无数的灵感,想着别人无法理解的事情。你在社会中就像个异类,就像世人难以读懂梵高,达芬奇的作品一样,你以为自己缺失,其实你是拥有太多。就像美剧的超能英雄一样。人和动物的根本区别就是人是在不断的思考中沉淀优势,明确航向,变成一个崭新的自我,你真正的缺失是对自己的不了解以及别人对你的不理解,弥补缺失的唯一方法就是阅读,探寻自己的内心,寻找自己真正想做的事情。才华横溢、有所作为的人,都是会享受和利用孤独的人,他们在孤独的时候积蓄能量。不要试图让别人理解你,正如你不能让盲人只凭触觉感受就做出绘画。任何一个害怕独处而在餐桌上、在夜总会、在酒吧里寻找一种存在感的人,都会在人群中被淹没。 - -不是你的错,既然无法适应这个世界,为什么不尝试去做一些事情来做出事实呢?就像创立特斯拉的硅谷钢铁侠埃隆·马斯克一样,凭借送入太空的特斯拉电动车,让外界看到他做白日梦的功力,把未来科技之美带给了世界。 - -疯狂的人有两种,一种是真疯,一种是真疯,前者强调在一个真字,后者强调在一个疯字,只有疯狂到认为自己能够改变世界的人才,才能够真正改变这个世界。 - -1776年,造就蒸汽革命瓦特的灵感源于他的异想天开, - -1879年,造就万家灯火的爱迪生的灵感源于他的天方夜谭 - -1886年,造就"钢铁长城"卡尔本茨的灵感源于他的荒诞无稽 - -1903年,造就银鹰展翅莱特兄弟的灵感源于他的痴人说梦 - -大胆一些,不要害怕做"白日梦",不要怀有渺小的梦想,他们无法打动人心,最重要的是,无法打动你的心。 - -无知不是错,错的是贪图安逸,放下你自己的骄傲,承认自己的不足吧!最怕碌碌无为一生的你,还安慰自己平凡可贵。 - -少年的少不在于骨龄,而在于心,心若鸿鹄比天高,纵是年岁已高,也尚可作为;若是年纪轻轻便已心老,了无生趣,对生命毫无激情,纵是年轻,又有何用,少年,心若在,梦就在。 - -高晓松说周长是憧憬和怀念的天平,当它倾斜得颓然倒下的时候,那些逝去的日光的夜晚该用怎样的声音去抚慰?你的状态如何,决定你的未来,你现在的位置就是你过去的心态之中的体现,你如果过去奋发向上,你现在不言自明。如果你是异性,会不会爱上现在的自己? - -一个人可以非常清贫,困顿低微,但是不可以没有梦想,只要梦想一天。那一天就可以改变自己的处境。威尔逊用一句话总结:"我们因梦想而伟大,所有的成功者都是大梦想家,在冬夜的火堆旁,在阴天的雨雾中,梦想着未来,有些人让梦想悄然绝灭,有些人的悉心培育、维护,直到它安然渡过困境,迎来光明,希望,而光明和希望总是降临在那些真心相信梦想一定会成真的人身上"。无梦想何茫,每伏于我之心,使我之心常不平,至此梦为实。就像埋在地下的种子一样,它们必须发芽,长出地面去追寻太阳的痕迹。 - -梦想就像镜中月,看起来很近,但你若是想要去触摸,你必须付出难以想象的努力,远方的美好。站在金字塔顶端俯视可看到众生,站在金字塔的底端,充斥在你眼前的只是砖石。高度,同样代表着你的眼界,若你周围都是生命的世事烦琐,你的心中也不会有天地的浩荡。是的,海的博大,在于它的海纳百川,但你看不到那一切,又怎会收容包纳一切? - -人有梦,因梦不同。梦想得久,则成,我们难道不是在前人的梦想之中吗?春有春之暖,夏有夏之热,秋有秋之获,冬有冬之寒,得受生活的乐趣。 +``` +├── docs/ # 书籍文档(docx、pdf) +├── ch01/ # 第01章 从Selenium开始 +├── ch02/ # 第02章 页面导航 +├── ch03/ # 第03章 元素定位 +├── ch04/ # 第04章 PhantomJS +├── ch05/ # 第05章 实战——Python官网 +├── ch06/ # 第06章 实战——今日头条 +├── ch07/ # 第07章 数据编解码、处理 +├── ch08/ # 第08章 实战——猫眼电影 +├── ch09/ # 第09章 实战——淘宝商品 +├── ch10/ # 第10章 单元测试 +├── ch11/ # 第11章 多线程 +├── ch12/ # 第12章 发送邮件 +├── ch13/ # 第13章 Selenium IDE +├── ch14/ # 第14章 Python拓展 +├── ch15/ # 第15章 GUI图形化测试 +├── ch16/ # 第16章 实战——知乎 +├── ch17/ # 第17章 实战——微博 +└── appendix/ # 附录 +``` -奋发是生命的常态,生命的岁月若不像流星燃烧,激情四射。又有何意义?不要让你就像过去百万年逝去的岁月一样,在历史的长河中逐渐归于尘埃,汲汲无名度过一生,你愿意吗?买菜洗衣做饭,朝九晚六,一眼可以看到底的生活是一种深渊。当你凝视深渊的时候,深渊也在凝视着你。 +每章目录下按需包含: +- `code/` — 示例代码 +- `images/` — 截图与插图 +- `data/` — 数据文件(xlsx、csv) -鹿晗在《勋章》中唱到: +## 内容及体系结构 -"可我会像奥德修斯一样 , +**第1章 从Selenium开始** — 了解Selenium项目的框架和由来,以及如何选择自己的WebDriver。介绍Windows和Linux两种操作系统下的Selenium安装方式。 -朝着心中的方向 , +**第2章 页面导航** — Selenium与浏览器交互的基本操作:启动浏览器、打开页面、窗口切换等常用浏览器操作的自动化。 -哪怕众神会在彼岸阻挡 , +**第3章 元素定位** — Selenium的八种元素定位方式,帮助读者初步掌握并实现一个自动化程序。 -当我需要独自站在 , +**第4章 PhantomJS** — PhantomJS只在内存中运行而不显示界面,十分适合数据采集。介绍PhantomJS和Selenium搭配使用的方法。 -远方的沙场 , +**第5章 实战part1——Python官网** — 对前面所学内容的综合整理运用,通过实战巩固知识。 -武器就是我紧握的梦想 , +**第6章 实战part2——今日头条** — 以今日头条为例子,讨论技术实现以及解决思路分析。 -而我受过的伤 , +**第7章 数据编解码、处理** — CSV、JSON、XML、BASE64、NLTK、HASH、Bloom Filter以及关系型/非关系型数据库。 -都是我的勋章。" +**第8章 实战part3——猫眼电影** — 从客户需求到网站分析、处理的全套流程。 -你不能把这个世界维持在你所不喜欢的样子。努力和遗憾,哪个更痛苦?坚持的人都是自己的英雄。在一次又一次的打击中"重整山河待后生",将惨不忍睹的失败化作动力,在和血吞牙中变得越来越刚强。请不要放弃,不能放弃,你的每一次失败都将化作脚下的基石,为你的下一步奠定坚实的基础,请坚信你的梦想,哪怕代价是在现实面前,撞得头破血流,在他人嘲讽中心被纠的生疼。顾里说:"我不知道什么是年少轻狂,我只知道胜者为王。 +**第9章 实战part4——淘宝商品** — 如何应对复杂网站的页面数据采集。 -一个人要实现自己的梦想,最重要的是具备以下两个条件,勇气和行动。 +**第10章 单元测试** — 单元测试是什么、为什么要写、应该怎么写。 -你是你一生的主角,不能轻易放弃;承载了太多期许的目光,怎能轻易放弃? +**第11章 多线程** — 线程、进程、线程切换、锁以及GIL等概念。 -那就让我们提笔为刀,奋战到底。 +**第12章 发送邮件** — 通过自动化发送邮件实现无人值守下的报备与记录。 -不相信世界就是这样,明知道: +**第13章 Selenium IDE** — 录制自动化脚本的工具,快捷生成自动化脚本。 -有的时候必须低头, +**第14章 Python拓展** — Python2转Python3、测试类型、通配符、字符串方法、异常层次结构、类、推导式等。 -有的人必将失去, +**第15章 GUI图形化测试** — 制作图形化界面的方法,常用组件介绍。 -有的东西命中注定不能长久, +**第16章 实战part5——知乎** — Selenium与传统爬虫的结合。 -仍然要说在第一千个选择之外,还有第1001扇窗等着我打开 +**第17章 实战part6——微博** — 全书内容的整合提升。 -然后有光透进来! +## 勘误 -### 结语 +mailto: af.liu@stu.pku.edu.cn -最后感谢所有可爱的阅读者,希望大家都能够在2019完成自己的目标~ diff --git "a/\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/Thumbs.db" "b/\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/Thumbs.db" deleted file mode 100644 index d5ffce7..0000000 Binary files "a/\345\233\276\347\211\207/\347\254\254\344\272\214\347\253\240/Thumbs.db" and /dev/null differ