{"id":7243,"date":"2018-10-06T23:52:19","date_gmt":"2018-10-06T15:52:19","guid":{"rendered":"https:\/\/4563.org\/?p=7243"},"modified":"2018-10-06T23:54:26","modified_gmt":"2018-10-06T15:54:26","slug":"google%e5%85%8d%e8%b4%b9gpugoogle-colab-colaboratory%e4%b8%80%e8%88%ac%e4%bd%bf%e7%94%a8%e5%92%8c%e5%8f%a6%e7%b1%bb%e4%bd%bf%e7%94%a8%e6%8a%80%e5%b7%a7","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=7243","title":{"rendered":"Google\u514d\u8d39GPU(Google Colab Colaboratory)\u4e00\u822c\u4f7f\u7528\u548c\u53e6\u7c7b\u4f7f\u7528\u6280\u5de7"},"content":{"rendered":"<div class=\"blog-content\">\n<p><img decoding=\"async\" title=\"google colab.png\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/1456462459.png\" alt=\"google colab.png\" \/><br \/>\n\u83b7\u53d6Google\u5e10\u53f7\u548c\u8fdb\u5165Colaboratory<\/p>\n<p>\u8bf7\u4f7f\u7528\u5e26\u6709google driver\u7684\u8d26\u53f7\u8fdb\u884c\u64cd\u4f5c\uff0c\u4e0d\u4ec5\u53ef\u4ee5\u4f7f\u7528\u65e0\u9650\u7f51\u76d8\uff0c\u8fd8\u80fd\u65b9\u4fbf\u5b58\u653e\u5c0f\u59d0\u59d0\u3002<\/p>\n<h3>1\uff0c\u542f\u52a8\u5668\u8fdb\u5165\u4e91\u7aef\u786c\u76d8\uff0c\u65b0\u5efa\u4e00\u4e2a\u6587\u4ef6\u5939app<\/h3>\n<p><img decoding=\"async\" title=\"Google Colab2.jpg\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/666859475.jpg\" alt=\"Google Colab2.jpg\" \/><\/p>\n<p>\u521b\u5efaColaboratory\uff0c\u8fdb\u5165\u521b\u5efa\u597d\u7684\u6587\u4ef6\u5939\uff0c\u70b9\u5f00\u65b0\u5efa -&gt; \u66f4\u591a -&gt;\u5173\u8054\u66f4\u591a\u5e94\u7528 \u3002<\/p>\n<p>\u627e\u5230Colaboratory<br \/>\n<img decoding=\"async\" title=\"Google Colab3.jpg\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/2896924907.jpg\" alt=\"Google Colab3.jpg\" \/><\/p>\n<h3>2\uff0c\u8fdb\u5165\u6211\u7684\u9762\u677f\u754c\u9762\u5566\uff0c\u770b\u8d77\u6765\u8fd9\u6837\u7684<\/h3>\n<p><img decoding=\"async\" title=\"Google Colab3.jpg\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/1735844464.jpg\" alt=\"Google Colab3.jpg\" \/><\/p>\n<h3>3\uff0c\u6253\u5f00\u7b14\u8bb0\u672c\u8bbe\u7f6e\uff0c\u9009\u62e9Python3<\/h3>\n<p><img decoding=\"async\" title=\"Google Colab5.jpg\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/859923472.jpg\" alt=\"Google Colab5.jpg\" \/><\/p>\n<h3>4\uff0c\u521d\u59cb\u5316\u4e00\u4e0b\u6211\u4eec\u7684\u7a0b\u5e8f<\/h3>\n<pre><code>!apt-get install -y -qq software-properties-common python-software-properties module-init-tools\r\n!add-apt-repository -y ppa:alessandro-strada\/ppa 2&gt;&amp;1 &gt; \/dev\/null\r\n!apt-get update -qq 2&gt;&amp;1 &gt; \/dev\/null\r\n!apt-get -y install -qq google-drive-ocamlfuse fuse\r\nfrom google.colab import auth\r\nauth.authenticate_user()\r\nfrom oauth2client.client import GoogleCredentials\r\ncreds = GoogleCredentials.get_application_default()\r\nimport getpass\r\n!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} &lt; \/dev\/null 2&gt;&amp;1 | grep URL\r\nvcode = getpass.getpass()\r\n!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}<\/code><\/pre>\n<p>\u7136\u540e\u7a0b\u5e8f\u8dd1\u8d77\u6765\u5566<\/p>\n<p><img decoding=\"async\" title=\"Google Colab6.jpg\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/2328073709.jpg\" alt=\"Google Colab6.jpg\" \/><br \/>\n\u5176\u4e2d\u4e24\u6b21\u9700\u8981\u70b9\u51fb\u94fe\u63a5\u7ed3\u5408\u8c37\u6b4cdrive\u7684\u6743\u9650\u7ed1\u5b9a\u597d\uff0c\u7ed1\u5b9a\u4ee5\u540e\u5c31\u53ef\u4ee5\u6302\u8f7d\u4e86\u81ea\u5df1\u5e10\u53f7\u7684Gdrive<\/p>\n<h3>5\uff0c\u6302\u8f7dgoogle drive<\/h3>\n<pre><code>!mkdir -p drive\r\n!google-drive-ocamlfuse drive<\/code><\/pre>\n<p>\u6211\u4eec\u53ef\u4ee5\u770b\u770b\uff0c\u5217\u51fa\u76ee\u5f55<br \/>\n<img decoding=\"async\" title=\"Google Colab7.jpg\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/3386047241.jpg\" alt=\"Google Colab7.jpg\" \/><br \/>\n\u5de5\u4f5c\u76ee\u5f55\u7684\u6539\u53d8<\/p>\n<pre><code>import os\r\nos.chdir(\"drive\/app\")<\/code><\/pre>\n<h3>\u5b66\u672f\u7528\u6cd5<\/h3>\n<h3>1\uff0c\u67e5\u770b\u662f\u5426\u4f7f\u7528GPU<\/h3>\n<p><img decoding=\"async\" title=\"Google Colab8.jpg\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/3787333578.jpg\" alt=\"Google Colab8.jpg\" \/><\/p>\n<h3>2\uff0c\u5728\u4f7f\u7528\u54ea\u4e2aGPU<\/h3>\n<pre><code>from tensorflow.python.client import device_lib\r\ndevice_lib.list_local_devices()<\/code><\/pre>\n<h3>3\uff0cCPU\u4fe1\u606f<\/h3>\n<pre><code>!cat \/proc\/cpuinfo<\/code><\/pre>\n<p><img decoding=\"async\" title=\"google colab 9.png\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/3567102744.png\" alt=\"google colab 9.png\" \/><\/p>\n<h3>\u8fdb\u9636\u4f7f\u7528<\/h3>\n<p>\u722c\u53d691\u89c6\u9891\uff0c\u5e76\u4fdd\u5b58\u5230\u81ea\u5df1\u7684\u7f51\u76d8\u7684Python\u4ee3\u7801<\/p>\n<h3>1\uff0c\u5b89\u88c5\u4e24\u4e2a\u5e93<\/h3>\n<pre><code>!pip install requests\r\n!pip install requests_html\r\n<\/code><\/pre>\n<h3>2\uff0c\u8be6\u7ec6\u4ee3\u7801<\/h3>\n<pre><code># coding:utf-8\r\nfrom requests_html import HTMLSession\r\nimport os\r\nimport random\r\nimport requests\r\nimport traceback\r\n \r\nualist = [\r\n    \"Mozilla\/4.0 (compatible; MSIE 9.0; Windows NT 6.1)\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident\/5.0)\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; WOW64; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (Windows NT 6.2; WOW64; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; WOW64; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident\/5.0)\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident\/5.0)\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; Win64; x64; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident\/6.0)\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident\/6.0)\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; WOW64; Trident\/7.0; Touch; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident\/6.0)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident\/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident\/4.0)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident\/4.0; SLCC2; Media Center PC 6.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; WOW64; Trident\/7.0; Touch; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (Windows NT 6.2; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (Windows NT 6.2; Win64; x64; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 9.0; Windows NT 6.0; WOW64; Trident\/5.0)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident\/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident\/5.0)\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64; Trident\/7.0; MDDSJS; rv:11.0) like Gecko\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident\/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64; Trident\/7.0; AS; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident\/6.0) LinkCheck by Siteimprove.com\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident\/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident\/7.0)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; ARM; Trident\/7.0; Touch; rv:11.0) like Gecko\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident\/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident\/6.0)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident\/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident\/5.0; Xbox)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident\/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 9.0; Windows NT 6.2; WOW64; Trident\/7.0)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident\/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)\",\r\n    \"Mozilla\/5.0 (Windows NT 6.0; WOW64; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/5.0 (Windows NT 5.1; WOW64; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident\/4.0)\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; Win64; x64; Trident\/7.0; rv:11.0) like Gecko\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident\/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident\/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.0)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident\/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)\",\r\n    \"Mozilla\/4.0 (compatible; MSIE 7.0; Windows NT 6.3; WOW64; Trident\/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)\",\r\n    \"Mozilla\/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident\/6.0)\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/60.0.3112.113 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/60.0.3112.90 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/44.0.2403.157 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 5.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/60.0.3112.90 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/60.0.3112.90 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/60.0.3112.113 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/57.0.2987.133 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/60.0.3112.90 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/57.0.2987.133 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/55.0.2883.87 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/63.0.3239.84 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/55.0.2883.87 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/46.0.2490.80 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/51.0.2704.106 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/48.0.2564.109 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/51.0.2704.63 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/63.0.3239.132 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/52.0.2743.116 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/62.0.3202.89 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/61.0.3163.100 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/43.0.2357.65 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/54.0.2840.99 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/57.0.2987.133 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/57.0.2987.133 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/57.0.2987.133 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/52.0.2743.116 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 5.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/57.0.2987.133 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 5.1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/49.0.2623.112 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/58.0.3029.110 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/54.0.2840.99 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/46.0.2490.80 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/41.0.2272.104 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/62.0.3202.89 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/59.0.3071.115 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/60.0.3112.113 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (X11; Linux x86_64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/42.0.2311.135 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/39.0.2171.95 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/55.0.2883.87 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/60.0.3112.90 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/55.0.2883.87 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/55.0.2883.87 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 5.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/55.0.2883.87 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/61.0.3163.100 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/62.0.3202.94 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/51.0.2704.106 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Unknown; Linux) AppleWebKit\/538.1 (KHTML, like Gecko) Chrome\/v1.0.0 Safari\/538.1\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/61.0.3163.100 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.3; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/48.0.2564.109 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/61.0.3163.79 Safari\/537.36\",\r\n    \"Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/56.0.2924.87 Safari\/537.36\",\r\n]\r\n \r\ndef random_ip():\r\n    a = str(random.randint(1, 255))\r\n    b = str(random.randint(1, 255))\r\n    c = str(random.randint(1, 255))\r\n    d = str(random.randint(1, 255))\r\n    ipaddress = '{}.{}.{}.{}'.format(a, b, c, d)\r\n    return ipaddress\r\n \r\ndef download_mp4(url, mydir):\r\n    session = HTMLSession()\r\n    headers = {'Accept-Language': 'zh-CN,zh;q=0.9',\r\n               'User-Agent': random.choice(ualist),\r\n               'X-Forwarded-For': random_ip(),\r\n               'referer': 'http:\/\/91porn.com',\r\n               'Content-Type': 'multipart\/form-data; session_language=cn_CN'}\r\n    req = session.get(url, headers=headers)\r\n    filename = os.path.join(mydir, '1.mp4')\r\n    with open(filename, 'wb') as f:\r\n        f.write(req.content)\r\n \r\ndef download_img(url, mydir):\r\n    session = HTMLSession()\r\n    headers = {'Accept-Language': 'zh-CN,zh;q=0.9',\r\n               'User-Agent': random.choice(ualist),\r\n               'X-Forwarded-For': random_ip(),\r\n               'referer': 'http:\/\/91porn.com',\r\n               'Content-Type': 'multipart\/form-data; session_language=cn_CN'}\r\n    req = session.get(url, headers=headers)\r\n    with open(os.path.join(mydir, 'thumb.png'), 'wb') as f:\r\n        f.write(req.content)\r\n \r\ndef detail_page(url):\r\n    headers = {'Accept-Language': 'zh-CN,zh;q=0.9',\r\n               'User-Agent': random.choice(ualist),\r\n               'X-Forwarded-For': random_ip(),\r\n               'referer': 'http:\/\/91porn.com',\r\n               'Content-Type': 'multipart\/form-data; session_language=cn_CN'}\r\n    session = HTMLSession()\r\n    r = session.get(url, headers=headers)\r\n    try:\r\n        mp4url = r.html.search('&lt;source src=\"{}\" type='video\/mp4'&gt;')[0]\r\n        title = r.html.search('&lt;div id=\"viewvideo-title\"&gt;{}&lt;\/div&gt;')[0].strip()\r\n        imgurl = r.html.search('poster=\"{}\"')[0]\r\n        if not os.path.exists(title):\r\n            try:\r\n                os.makedirs(title)\r\n                print('\u5f00\u59cb\u4e0b\u8f7d', title)\r\n                download_img(imgurl, title)\r\n                download_mp4(mp4url, title)\r\n                print(title, '\u89c6\u9891\u548c\u7f29\u7565\u56fe\u4e0b\u8f7d\u5b8c\u6210')\r\n            except Exception as e:\r\n                traceback.print_exc()\r\n        else:\r\n            print('\u5df2\u5b58\u5728\u6587\u4ef6\u5939{},\u8df3\u8fc7'.format(title))\r\n    except Exception as e:\r\n        traceback.print_exc()\r\n \r\ndef main(page):\r\n    for i in range(page + 1):\r\n        headers = {'Accept-Language': 'zh-CN,zh;q=0.9',\r\n                   'User-Agent': random.choice(ualist),\r\n                   'X-Forwarded-For': random_ip(),\r\n                   'referer': 'http:\/\/91porn.com',\r\n                   'Content-Type': 'multipart\/form-data; session_language=cn_CN'}\r\n        session = HTMLSession()\r\n        page_url = session.get('http:\/\/91porn.com\/v.php?next=watch&amp;page={}'.format(i), headers=headers)\r\n        for url in page_url.html.absolute_links:\r\n            if '91porn.com\/view_video.php' in url:\r\n                print('\u5373\u5c06\u4e0b\u8f7d', url)\r\n                detail_page(url)\r\n \r\n \r\nif __name__ == '__main__':\r\n    main(4250)#\u8fd9\u91cc\u662f91\u89c6\u9891\u7f51\u7ad9\u7684\u5206\u9875\u6570<\/code><\/pre>\n<h3>\u540e\u8bb0<\/h3>\n<p>\u6700\u540e\u63d0\u9192\u4e0b\u5927\u5bb6\uff0c\u9875\u9762\u6253\u5f00\u7684\u60c5\u51b5\u4e0b\u6700\u957f\u65f6\u95f4\u53ef\u4ee5\u523012\u5c0f\u65f6\u3002<\/p>\n<p>\u6700\u7ec8\u6210\u54c1\uff0c\u8f66\u5e93\uff0c\u4eb2\u6d4b\u8dd1\u51fa\u6765<\/p>\n<p><img decoding=\"async\" title=\"Google Colab10.jpg\" src=\"https:\/\/4563.org\/wp-content\/uploads\/2018\/10\/927304042.jpg\" alt=\"Google Colab10.jpg\" \/><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u83b7\u53d6Google\u5e10\u53f7\u548c\u8fdb\u5165Cola&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/7243"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7243"}],"version-history":[{"count":3,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/7243\/revisions"}],"predecessor-version":[{"id":7256,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/7243\/revisions\/7256"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7243"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}