|
1968 | 1968 | " print s"
|
1969 | 1969 | ]
|
1970 | 1970 | },
|
| 1971 | + { |
| 1972 | + "cell_type": "markdown", |
| 1973 | + "metadata": {}, |
| 1974 | + "source": [ |
| 1975 | + "### 第 0013 题\n", |
| 1976 | + "\n", |
| 1977 | + "用 Python 写一个爬图片的程序,爬[这个链接里的日本妹子图片 :-)](http://tieba.baidu.com/p/2166231880)\n", |
| 1978 | + "\n", |
| 1979 | + "[参考代码](https://www.v2ex.com/t/61686)" |
| 1980 | + ] |
| 1981 | + }, |
| 1982 | + { |
| 1983 | + "cell_type": "code", |
| 1984 | + "execution_count": 14, |
| 1985 | + "metadata": { |
| 1986 | + "collapsed": false |
| 1987 | + }, |
| 1988 | + "outputs": [], |
| 1989 | + "source": [ |
| 1990 | + "import requests\n", |
| 1991 | + "import lxml.html\n", |
| 1992 | + "\n", |
| 1993 | + "url = \"http://tieba.baidu.com/p/2166231880\"\n", |
| 1994 | + "path = \"C:\\\\Users\\\\jiang\\\\Desktop\\\\imgs\\\\\"\n", |
| 1995 | + "page = requests.get(url).text\n", |
| 1996 | + "doc = lxml.html.document_fromstring(page)\n", |
| 1997 | + "for idx, el in enumerate(doc.cssselect('img.BDE_Image')):\n", |
| 1998 | + " with open(path + '%03d.jpg' % idx, 'wb') as f:\n", |
| 1999 | + " f.write(requests.get(el.attrib['src']).content)" |
| 2000 | + ] |
| 2001 | + }, |
1971 | 2002 | {
|
1972 | 2003 | "cell_type": "markdown",
|
1973 | 2004 | "metadata": {},
|
|
2404 | 2435 | },
|
2405 | 2436 | {
|
2406 | 2437 | "cell_type": "code",
|
2407 |
| - "execution_count": 19, |
| 2438 | + "execution_count": 46, |
2408 | 2439 | "metadata": {
|
2409 | 2440 | "collapsed": true
|
2410 | 2441 | },
|
2411 | 2442 | "outputs": [],
|
2412 | 2443 | "source": [
|
| 2444 | + "# 跟随 Flask 的教程,可以做一个微博客应用,和这个差不多:http://docs.jinkan.org/docs/flask/tutorial/index.html\n", |
| 2445 | + "# 最后先看一下 Flask 的快速入门:http://docs.jinkan.org/docs/flask/quickstart.html\n", |
| 2446 | + "\n", |
2413 | 2447 | "# 不想搞web,跳过本题\n",
|
2414 | 2448 | "\n",
|
2415 | 2449 | "from flask import Flask\n",
|
|
2450 | 2484 | "\n",
|
2451 | 2485 | "app.run()"
|
2452 | 2486 | ]
|
| 2487 | + }, |
| 2488 | + { |
| 2489 | + "cell_type": "markdown", |
| 2490 | + "metadata": {}, |
| 2491 | + "source": [ |
| 2492 | + "### 第 0025 题\n", |
| 2493 | + "\n", |
| 2494 | + "使用 Python 实现:对着电脑吼一声,自动打开浏览器中的默认网站。\n", |
| 2495 | + "\n", |
| 2496 | + "例如,对着笔记本电脑吼一声“百度”,浏览器自动打开百度首页。\n", |
| 2497 | + "\n", |
| 2498 | + "关键字:Speech to Text\n", |
| 2499 | + "\n", |
| 2500 | + "参考思路:\n", |
| 2501 | + "\n", |
| 2502 | + "1: 获取电脑录音-->WAV文件 python record wav\n", |
| 2503 | + "\n", |
| 2504 | + "2:录音文件-->文本\n", |
| 2505 | + "\n", |
| 2506 | + "STT: Speech to Text\n", |
| 2507 | + "\n", |
| 2508 | + "STT API Google API\n", |
| 2509 | + "3:文本-->电脑命令" |
| 2510 | + ] |
| 2511 | + }, |
| 2512 | + { |
| 2513 | + "cell_type": "code", |
| 2514 | + "execution_count": 45, |
| 2515 | + "metadata": { |
| 2516 | + "collapsed": false |
| 2517 | + }, |
| 2518 | + "outputs": [ |
| 2519 | + { |
| 2520 | + "name": "stdout", |
| 2521 | + "output_type": "stream", |
| 2522 | + "text": [ |
| 2523 | + "正在聆听...\n", |
| 2524 | + "你的输入:打开百度\n", |
| 2525 | + "正在聆听...\n", |
| 2526 | + "你的输入:打开知乎\n", |
| 2527 | + "正在聆听...\n", |
| 2528 | + "你的输入:打开谷歌\n", |
| 2529 | + "正在聆听...\n", |
| 2530 | + "你的输入:打开微博【抱歉,仅支持: 打开百度、打开谷歌,打开知乎,打开博客】\n", |
| 2531 | + "正在聆听...\n", |
| 2532 | + "抱歉,没听懂,请使用普通话。\n", |
| 2533 | + "正在聆听...\n", |
| 2534 | + "抱歉,没听懂,请使用普通话。\n", |
| 2535 | + "正在聆听...\n", |
| 2536 | + "抱歉,没听懂,请使用普通话。\n", |
| 2537 | + "正在聆听...\n", |
| 2538 | + "你的输入:打开博客\n", |
| 2539 | + "正在聆听...\n", |
| 2540 | + "你的输入:停止\n" |
| 2541 | + ] |
| 2542 | + } |
| 2543 | + ], |
| 2544 | + "source": [ |
| 2545 | + "import speech_recognition as sr\n", |
| 2546 | + "import webbrowser\n", |
| 2547 | + "\n", |
| 2548 | + "MY_BING_KEY = \"d8b094b351e6444e9e6ff8d922ac64ff\" #key from Microsoft : https://www.microsoft.com/cognitive-services/en-us/speech-api\n", |
| 2549 | + "url = {\"打开百度\" : \"www.baidu.com\", \"打开谷歌\" : \"www.google.com\", \"打开知乎\" : \"www.zhihu.com\", \"打开博客\" : \"www.cnblogs.com\"}\n", |
| 2550 | + "\n", |
| 2551 | + "r = sr.Recognizer()\n", |
| 2552 | + "stop = False\n", |
| 2553 | + "while not stop:\n", |
| 2554 | + " with sr.Microphone() as source:\n", |
| 2555 | + " print(\"正在聆听...\")\n", |
| 2556 | + " audio = r.listen(source)\n", |
| 2557 | + " \n", |
| 2558 | + " try:\n", |
| 2559 | + " text = r.recognize_bing(audio, key=MY_BING_KEY, language='zh-CN').encode('utf-8')\n", |
| 2560 | + " except:\n", |
| 2561 | + " text = None\n", |
| 2562 | + " if url.has_key(text):\n", |
| 2563 | + " print(\"你的输入:\" + text) \n", |
| 2564 | + " webbrowser.open_new_tab(url[text])\n", |
| 2565 | + " elif text == \"停止\":\n", |
| 2566 | + " print(\"你的输入:\" + text) \n", |
| 2567 | + " stop = True\n", |
| 2568 | + " elif text is None:\n", |
| 2569 | + " print \"抱歉,没听懂,请使用普通话。\"\n", |
| 2570 | + " else:\n", |
| 2571 | + " print(\"你的输入:\" + text + \"【抱歉,仅支持: 打开百度、打开谷歌,打开知乎,打开博客】\") " |
| 2572 | + ] |
2453 | 2573 | }
|
2454 | 2574 | ],
|
2455 | 2575 | "metadata": {
|
|
0 commit comments