python的爬虫框架有哪些? Python有哪些常见的,好用的爬虫框架

Python\u7684\u722c\u866b\u6846\u67b6\u6709\u54ea\u4e9b\uff1f

\u5411\u5927\u5bb6\u63a8\u8350\u5341\u4e2aPython\u722c\u866b\u6846\u67b6\u3002
1\u3001Scrapy\uff1aScrapy\u662f\u4e00\u4e2a\u4e3a\u4e86\u722c\u53d6\u7f51\u7ad9\u6570\u636e\uff0c\u63d0\u53d6\u7ed3\u6784\u6027\u6570\u636e\u800c\u7f16\u5199\u7684\u5e94\u7528\u6846\u67b6\u3002 \u53ef\u4ee5\u5e94\u7528\u5728\u5305\u62ec\u6570\u636e\u6316\u6398\uff0c\u4fe1\u606f\u5904\u7406\u6216\u5b58\u50a8\u5386\u53f2\u6570\u636e\u7b49\u4e00\u7cfb\u5217\u7684\u7a0b\u5e8f\u4e2d\u3002\u5b83\u662f\u5f88\u5f3a\u5927\u7684\u722c\u866b\u6846\u67b6\uff0c\u53ef\u4ee5\u6ee1\u8db3\u7b80\u5355\u7684\u9875\u9762\u722c\u53d6\uff0c\u6bd4\u5982\u53ef\u4ee5\u660e\u786e\u83b7\u77e5url pattern\u7684\u60c5\u51b5\u3002\u7528\u8fd9\u4e2a\u6846\u67b6\u53ef\u4ee5\u8f7b\u677e\u722c\u4e0b\u6765\u5982\u4e9a\u9a6c\u900a\u5546\u54c1\u4fe1\u606f\u4e4b\u7c7b\u7684\u6570\u636e\u3002\u4f46\u662f\u5bf9\u4e8e\u7a0d\u5fae\u590d\u6742\u4e00\u70b9\u7684\u9875\u9762\uff0c\u5982weibo\u7684\u9875\u9762\u4fe1\u606f\uff0c\u8fd9\u4e2a\u6846\u67b6\u5c31\u6ee1\u8db3\u4e0d\u4e86\u9700\u6c42\u4e86\u3002\u5b83\u7684\u7279\u6027\u6709\uff1aHTML, XML\u6e90\u6570\u636e \u9009\u62e9\u53ca\u63d0\u53d6 \u7684\u5185\u7f6e\u652f\u6301\uff1b\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u5728spider\u4e4b\u95f4\u5171\u4eab\u7684\u53ef\u590d\u7528\u7684\u8fc7\u6ee4\u5668(\u5373 Item Loaders)\uff0c\u5bf9\u667a\u80fd\u5904\u7406\u722c\u53d6\u6570\u636e\u63d0\u4f9b\u4e86\u5185\u7f6e\u652f\u6301\u3002\u3000
2\u3001Crawley\uff1a\u9ad8\u901f\u722c\u53d6\u5bf9\u5e94\u7f51\u7ad9\u7684\u5185\u5bb9\uff0c\u652f\u6301\u5173\u7cfb\u548c\u975e\u5173\u7cfb\u6570\u636e\u5e93\uff0c\u6570\u636e\u53ef\u4ee5\u5bfc\u51fa\u4e3aJSON\u3001XML\u7b49\u3002
3\u3001Portia\uff1a\u662f\u4e00\u4e2a\u5f00\u6e90\u53ef\u89c6\u5316\u722c\u866b\u5de5\u5177\uff0c\u53ef\u8ba9\u4f7f\u7528\u8005\u5728\u4e0d\u9700\u8981\u4efb\u4f55\u7f16\u7a0b\u77e5\u8bc6\u7684\u60c5\u51b5\u4e0b\u722c\u53d6\u7f51\u7ad9\uff01\u7b80\u5355\u5730\u6ce8\u91ca\u81ea\u5df1\u611f\u5174\u8da3\u7684\u9875\u9762\uff0cPortia\u5c06\u521b\u5efa\u4e00\u4e2a\u8718\u86db\u6765\u4ece\u7c7b\u4f3c\u7684\u9875\u9762\u63d0\u53d6\u6570\u636e\u3002\u7b80\u5355\u6765\u8bb2\uff0c\u5b83\u662f\u57fa\u4e8escrapy\u5185\u6838\uff1b\u53ef\u89c6\u5316\u722c\u53d6\u5185\u5bb9\uff0c\u4e0d\u9700\u8981\u4efb\u4f55\u5f00\u53d1\u4e13\u4e1a\u77e5\u8bc6\uff1b\u52a8\u6001\u5339\u914d\u76f8\u540c\u6a21\u677f\u7684\u5185\u5bb9\u3002
4\u3001newspaper\uff1a\u53ef\u4ee5\u7528\u6765\u63d0\u53d6\u65b0\u95fb\u3001\u6587\u7ae0\u548c\u5185\u5bb9\u5206\u6790\u3002\u4f7f\u7528\u591a\u7ebf\u7a0b\uff0c\u652f\u630110\u591a\u79cd\u8bed\u8a00\u7b49\u3002\u4f5c\u8005\u4ecerequests\u5e93\u7684\u7b80\u6d01\u4e0e\u5f3a\u5927\u5f97\u5230\u7075\u611f\uff0c\u4f7f\u7528Python\u5f00\u53d1\u7684\u53ef\u7528\u4e8e\u63d0\u53d6\u6587\u7ae0\u5185\u5bb9\u7684\u7a0b\u5e8f\u3002\u652f\u630110\u591a\u79cd\u8bed\u8a00\u5e76\u4e14\u6240\u6709\u7684\u90fd\u662funicode\u7f16\u7801\u3002
5\u3001Python-goose\uff1aJava\u5199\u7684\u6587\u7ae0\u63d0\u53d6\u5de5\u5177\u3002Python-goose\u6846\u67b6\u53ef\u63d0\u53d6\u7684\u4fe1\u606f\u5305\u62ec\uff1a\u6587\u7ae0\u4e3b\u4f53\u5185\u5bb9\u3001\u6587\u7ae0\u4e3b\u8981\u56fe\u7247\u3001\u6587\u7ae0\u4e2d\u5d4c\u5165\u7684\u4efb\u4f55Youtube/Vimeo\u89c6\u9891\u3001\u5143\u63cf\u8ff0\u3001\u5143\u6807\u7b7e\u3002
6\u3001Beautiful Soup\uff1a\u540d\u6c14\u5927\uff0c\u6574\u5408\u4e86\u4e00\u4e9b\u5e38\u7528\u722c\u866b\u9700\u6c42\u3002\u5b83\u662f\u4e00\u4e2a\u53ef\u4ee5\u4eceHTML\u6216XML\u6587\u4ef6\u4e2d\u63d0\u53d6\u6570\u636e\u7684Python\u5e93\u3002\u5b83\u80fd\u591f\u901a\u8fc7\u4f60\u559c\u6b22\u7684\u8f6c\u6362\u5668\u5b9e\u73b0\u60ef\u7528\u7684\u6587\u6863\u5bfc\u822a,\u67e5\u627e,\u4fee\u6539\u6587\u6863\u7684\u65b9\u5f0f.Beautiful Soup\u4f1a\u5e2e\u4f60\u8282\u7701\u6570\u5c0f\u65f6\u751a\u81f3\u6570\u5929\u7684\u5de5\u4f5c\u65f6\u95f4\u3002Beautiful Soup\u7684\u7f3a\u70b9\u662f\u4e0d\u80fd\u52a0\u8f7dJS\u3002
7\u3001mechanize\uff1a\u5b83\u7684\u4f18\u70b9\u662f\u53ef\u4ee5\u52a0\u8f7dJS\u3002\u5f53\u7136\u5b83\u4e5f\u6709\u7f3a\u70b9\uff0c\u6bd4\u5982\u6587\u6863\u4e25\u91cd\u7f3a\u5931\u3002\u4e0d\u8fc7\u901a\u8fc7\u5b98\u65b9\u7684example\u4ee5\u53ca\u4eba\u8089\u5c1d\u8bd5\u7684\u65b9\u6cd5\uff0c\u8fd8\u662f\u52c9\u5f3a\u80fd\u7528\u7684\u3002
8\u3001selenium\uff1a\u8fd9\u662f\u4e00\u4e2a\u8c03\u7528\u6d4f\u89c8\u5668\u7684driver\uff0c\u901a\u8fc7\u8fd9\u4e2a\u5e93\u4f60\u53ef\u4ee5\u76f4\u63a5\u8c03\u7528\u6d4f\u89c8\u5668\u5b8c\u6210\u67d0\u4e9b\u64cd\u4f5c\uff0c\u6bd4\u5982\u8f93\u5165\u9a8c\u8bc1\u7801\u3002Selenium\u662f\u81ea\u52a8\u5316\u6d4b\u8bd5\u5de5\u5177\uff0c\u5b83\u652f\u6301\u5404\u79cd\u6d4f\u89c8\u5668\uff0c\u5305\u62ec Chrome\uff0cSafari\uff0cFirefox\u7b49\u4e3b\u6d41\u754c\u9762\u5f0f\u6d4f\u89c8\u5668\uff0c\u5982\u679c\u5728\u8fd9\u4e9b\u6d4f\u89c8\u5668\u91cc\u9762\u5b89\u88c5\u4e00\u4e2a Selenium \u7684\u63d2\u4ef6\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u5b9e\u73b0Web\u754c\u9762\u7684\u6d4b\u8bd5. Selenium\u652f\u6301\u6d4f\u89c8\u5668\u9a71\u52a8\u3002Selenium\u652f\u6301\u591a\u79cd\u8bed\u8a00\u5f00\u53d1\uff0c\u6bd4\u5982 Java\uff0cC\uff0cRuby\u7b49\u7b49\uff0cPhantomJS \u7528\u6765\u6e32\u67d3\u89e3\u6790JS\uff0cSelenium \u7528\u6765\u9a71\u52a8\u4ee5\u53ca\u4e0ePython\u7684\u5bf9\u63a5\uff0cPython\u8fdb\u884c\u540e\u671f\u7684\u5904\u7406\u3002
9\u3001cola\uff1a\u662f\u4e00\u4e2a\u5206\u5e03\u5f0f\u7684\u722c\u866b\u6846\u67b6\uff0c\u5bf9\u4e8e\u7528\u6237\u6765\u8bf4\uff0c\u53ea\u9700\u7f16\u5199\u51e0\u4e2a\u7279\u5b9a\u7684\u51fd\u6570\uff0c\u800c\u65e0\u9700\u5173\u6ce8\u5206\u5e03\u5f0f\u8fd0\u884c\u7684\u7ec6\u8282\u3002\u4efb\u52a1\u4f1a\u81ea\u52a8\u5206\u914d\u5230\u591a\u53f0\u673a\u5668\u4e0a\uff0c\u6574\u4e2a\u8fc7\u7a0b\u5bf9\u7528\u6237\u662f\u900f\u660e\u7684\u3002\u9879\u76ee\u6574\u4f53\u8bbe\u8ba1\u6709\u70b9\u7cdf\uff0c\u6a21\u5757\u95f4\u8026\u5408\u5ea6\u8f83\u9ad8\u3002
10\u3001PySpider\uff1a\u4e00\u4e2a\u56fd\u4eba\u7f16\u5199\u7684\u5f3a\u5927\u7684\u7f51\u7edc\u722c\u866b\u7cfb\u7edf\u5e76\u5e26\u6709\u5f3a\u5927\u7684WebUI\u3002\u91c7\u7528Python\u8bed\u8a00\u7f16\u5199\uff0c\u5206\u5e03\u5f0f\u67b6\u6784\uff0c\u652f\u6301\u591a\u79cd\u6570\u636e\u5e93\u540e\u7aef\uff0c\u5f3a\u5927\u7684WebUI\u652f\u6301\u811a\u672c\u7f16\u8f91\u5668\uff0c\u4efb\u52a1\u76d1\u89c6\u5668\uff0c\u9879\u76ee\u7ba1\u7406\u5668\u4ee5\u53ca\u7ed3\u679c\u67e5\u770b\u5668\u3002Python\u811a\u672c\u63a7\u5236\uff0c\u53ef\u4ee5\u7528\u4efb\u4f55\u4f60\u559c\u6b22\u7684html\u89e3\u6790\u5305\u3002
\u4ee5\u4e0a\u5c31\u662f\u5206\u4eab\u7684Python\u722c\u866b\u4e00\u822c\u7528\u7684\u5341\u5927\u4e3b\u6d41\u6846\u67b6\u3002\u8fd9\u4e9b\u6846\u67b6\u7684\u4f18\u7f3a\u70b9\u90fd\u4e0d\u540c\uff0c\u5927\u5bb6\u5728\u4f7f\u7528\u7684\u65f6\u5019\uff0c\u53ef\u4ee5\u6839\u636e\u5177\u4f53\u573a\u666f\u9009\u62e9\u5408\u9002\u7684\u6846\u67b6\u3002

\u76ee\u524d\u5b9e\u73b0\u722c\u866b\u6280\u672f\u7684\u7f16\u7a0b\u73af\u5883\u6709\u5f88\u591a\u79cd\uff0cJava\u3001Python\u3001C++\u7b49\u90fd\u53ef\u4ee5\u7528\u6765\u5199\u722c\u866b\u3002\u4f46\u5f88\u591a\u4eba\u9009\u62e9Python\u6765\u5199\u722c\u866b\uff0c\u539f\u56e0\u662fPython\u786e\u5b9e\u5f88\u9002\u5408\u505a\u722c\u866b\uff0c\u4e30\u5bcc\u7684\u7b2c\u4e09\u65b9\u5e93\u5341\u5206\u5f3a\u5927\uff0c\u7b80\u5355\u51e0\u884c\u4ee3\u7801\u4fbf\u53ef\u5b9e\u73b0\u4f60\u60f3\u8981\u7684\u529f\u80fd\u3002\u66f4\u91cd\u8981\u7684\uff0cPython\u4e5f\u662f\u6570\u636e\u6316\u6398\u548c\u5206\u6790\u7684\u597d\u80fd\u624b\u3002\u90a3\u4e48\uff0c\u4eca\u5929IPIDEA\u5c31\u5e26\u5927\u5bb6\u6765\u4e86\u89e3Python\u722c\u866b\u4e00\u822c\u7528\u4ec0\u4e48\u6846\u67b6\u6bd4\u8f83\u597d\u3002


Beautiful Soup\uff1a\u6574\u5408\u4e86\u4e00\u4e9b\u5e38\u7528\u722c\u866b\u9700\u6c42\u3002\u5b83\u662f\u4e00\u4e2a\u53ef\u4ee5\u4eceHTML\u6216XML\u6587\u4ef6\u4e2d\u63d0\u53d6\u6570\u636e\u7684Python\u5e93\u3002\u5b83\u80fd\u591f\u901a\u8fc7\u4f60\u559c\u6b22\u7684\u8f6c\u6362\u5668\u5b9e\u73b0\u60ef\u7528\u7684\u6587\u6863\u5bfc\u822a,\u67e5\u627e,\u4fee\u6539\u6587\u6863\u7684\u5f0f.Beautiful Soup\u4f1a\u5e2e\u4f60\u8282\u7701\u6570\u5c0f\u65f6\u751a\u81f3\u6570\u5929\u7684\u5de5\u4f5c\u65f6\u95f4\u3002Beautiful Soup\u7684\u7f3a\u70b9\u662f\u4e0d\u80fd\u52a0\u8f7dJS\u3002

selenium\uff1a\u8fd9\u662f\u4e00\u4e2a\u8c03\u7528\u6d4f\u89c8\u5668\u7684driver\uff0c\u901a\u8fc7\u8fd9\u4e2a\u5e93\u4f60\u53ef\u4ee5\u76f4\u63a5\u8c03\u7528\u6d4f\u89c8\u5668\u5b8c\u6210\u67d0\u4e9b\u64cd\u4f5c\uff0c\u6bd4\u5982\u8f93\u5165\u9a8c\u8bc1\u7801\u3002Selenium\u662f\u81ea\u52a8\u5316\u6d4b\u8bd5\u5de5\u5177\uff0c\u5b83\u652f\u6301\u5404\u79cd\u6d4f\u89c8\u5668\uff0c\u5305\u62ec Chrome\uff0cSafari\uff0cFirefox\u7b49\u4e3b\u6d41\u754c\u9762\u5f0f\u6d4f\u89c8\u5668\uff0c\u5982\u679c\u5728\u8fd9\u4e9b\u6d4f\u89c8\u5668\u91cc\u9762\u5b89\u88c5\u4e00\u4e2a Selenium \u7684\u63d2\u4ef6\uff0c\u53ef\u4ee5\u65b9\u4fbf\u5730\u5b9e\u73b0Web\u754c\u9762\u7684\u6d4b\u8bd5. Selenium\u652f\u6301\u6d4f\u89c8\u5668\u9a71\u52a8\u3002Selenium\u652f\u6301\u591a\u79cd\u8bed\u8a00\u5f00\u53d1\uff0c\u6bd4\u5982 Java\uff0cC\uff0cRuby\u7b49\u7b49\uff0cPhantomJS \u7528\u6765\u6e32\u67d3\u89e3\u6790JS\uff0cSelenium \u7528\u6765\u9a71\u52a8\u4ee5\u53ca\u4e0ePython\u7684\u5bf9\u63a5\uff0cPython\u8fdb\u884c\u540e\u671f\u7684\u5904\u7406\u3002

Scrapy\uff1aScrapy\u662f\u4e00\u4e2a\u4e3a\u4e86\u722c\u53d6\u7f51\u7ad9\u6570\u636e\uff0c\u63d0\u53d6\u7ed3\u6784\u6027\u6570\u636e\u800c\u7f16\u5199\u7684\u5e94\u7528\u6846\u67b6\u3002 \u53ef\u4ee5\u5e94\u7528\u5728\u5305\u62ec\u6570\u636e\u6316\u6398\uff0c\u4fe1\u606f\u5904\u7406\u6216\u5b58\u50a8\u5386\u53f2\u6570\u636e\u7b49\u4e00\u7cfb\u5217\u7684\u7a0b\u5e8f\u4e2d\u3002\u5b83\u662f\u5f88\u5f3a\u5927\u7684\u722c\u866b\u6846\u67b6\uff0c\u53ef\u4ee5\u6ee1\u8db3\u7b80\u5355\u7684\u9875\u9762\u722c\u53d6\uff0c\u6bd4\u5982\u53ef\u4ee5\u660e\u786e\u83b7\u77e5url pattern\u7684\u60c5\u51b5\u3002\u7528\u8fd9\u4e2a\u6846\u67b6\u53ef\u4ee5\u8f7b\u677e\u722c\u4e0b\u6765\u5982\u4e9a\u9a6c\u900a\u5546\u54c1\u4fe1\u606f\u4e4b\u7c7b\u7684\u6570\u636e\u3002\u4f46\u662f\u5bf9\u4e8e\u7a0d\u5fae\u590d\u6742\u4e00\u70b9\u7684\u9875\u9762\uff0c\u5982weibo\u7684\u9875\u9762\u4fe1\u606f\uff0c\u8fd9\u4e2a\u6846\u67b6\u5c31\u6ee1\u8db3\u4e0d\u4e86\u9700\u6c42\u4e86\u3002\u5b83\u7684\u7279\u6027\u6709\uff1aHTML, XML\u6e90\u6570\u636e \u9009\u62e9\u53ca\u63d0\u53d6 \u7684\u5185\u7f6e\u652f\u6301\uff1b\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u5728spider\u4e4b\u95f4\u5171\u4eab\u7684\u53ef\u590d\u7528\u7684\u8fc7\u6ee4\u5668(\u5373 Item Loaders)\uff0c\u5bf9\u667a\u80fd\u5904\u7406\u722c\u53d6\u6570\u636e\u63d0\u4f9b\u4e86\u5185\u7f6e\u652f\u6301\u3002

Portia\uff1a\u662f\u4e00\u4e2a\u5f00\u6e90\u53ef\u89c6\u5316\u722c\u866b\u5de5\u5177\uff0c\u53ef\u8ba9\u4f7f\u7528\u8005\u5728\u4e0d\u9700\u8981\u4efb\u4f55\u7f16\u7a0b\u77e5\u8bc6\u7684\u60c5\u51b5\u4e0b\u722c\u53d6\u7f51\u7ad9\uff01\u7b80\u5355\u5730\u6ce8\u91ca\u81ea\u5df1\u611f\u5174\u8da3\u7684\u9875\u9762\uff0cPortia\u5c06\u521b\u5efa\u4e00\u4e2a\u8718\u86db\u6765\u4ece\u7c7b\u4f3c\u7684\u9875\u9762\u63d0\u53d6\u6570\u636e\u3002\u7b80\u5355\u6765\u8bb2\uff0c\u5b83\u662f\u57fa\u4e8escrapy\u5185\u6838\uff1b\u53ef\u89c6\u5316\u722c\u53d6\u5185\u5bb9\uff0c\u4e0d\u9700\u8981\u4efb\u4f55\u5f00\u53d1\u4e13\u4e1a\u77e5\u8bc6\uff1b\u52a8\u6001\u5339\u914d\u76f8\u540c\u6a21\u677f\u7684\u5185\u5bb9\u3002

cola\uff1a\u662f\u4e00\u4e2a\u5206\u5e03\u5f0f\u7684\u722c\u866b\u6846\u67b6\uff0c\u5bf9\u4e8e\u7528\u6237\u6765\u8bf4\uff0c\u53ea\u9700\u7f16\u5199\u51e0\u4e2a\u7279\u5b9a\u7684\u51fd\u6570\uff0c\u800c\u65e0\u9700\u5173\u6ce8\u5206\u5e03\u5f0f\u8fd0\u884c\u7684\u7ec6\u8282\u3002\u4efb\u52a1\u4f1a\u81ea\u52a8\u5206\u914d\u5230\u591a\u53f0\u673a\u5668\u4e0a\uff0c\u6574\u4e2a\u8fc7\u7a0b\u5bf9\u7528\u6237\u662f\u900f\u660e\u7684\u3002\u9879\u76ee\u6574\u4f53\u8bbe\u8ba1\u6709\u70b9\u7cdf\uff0c\u6a21\u5757\u95f4\u8026\u5408\u5ea6\u8f83\u9ad8\u3002

PySpider\uff1a\u4e00\u4e2a\u56fd\u4eba\u7f16\u5199\u7684\u5f3a\u5927\u7684\u7f51\u7edc\u722c\u866b\u7cfb\u7edf\u5e76\u5e26\u6709\u5f3a\u5927\u7684WebUI\u3002\u91c7\u7528Python\u8bed\u8a00\u7f16\u5199\uff0c\u5206\u5e03\u5f0f\u67b6\u6784\uff0c\u652f\u6301\u591a\u79cd\u6570\u636e\u5e93\u540e\u7aef\uff0c\u5f3a\u5927\u7684WebUI\u652f\u6301\u811a\u672c\u7f16\u8f91\u5668\uff0c\u4efb\u52a1\u76d1\u89c6\u5668\uff0c\u9879\u76ee\u7ba1\u7406\u5668\u4ee5\u53ca\u7ed3\u679c\u67e5\u770b\u5668\u3002Python\u811a\u672c\u63a7\u5236\uff0c\u53ef\u4ee5\u7528\u4efb\u4f55\u4f60\u559c\u6b22\u7684html\u89e3\u6790\u5305\u3002

爬虫框架需要URL、页面下载器、爬虫调度器、网页解析器、数据处理

爬虫框架要处理很多的URL,我们需要设计一个队列存储所有要处理的 URL,这种先进先出的数据结构非常符合这个需求。 将所有要下载的URL存储在待处理队列中,每次下载会取出一个,队列中就会少一个。我们知道有些URL的下载会有反爬虫策略,所以针对这些请求需要做一些特殊的设置,进而可以对URL进行封装抽出 Request。

 

页面下载器如果没有,用户就要编写网络请求的处理代码,这无疑对每个 URL 都是相同的动作。 所以在框架设计中我们直接加入它就好了,至于使用什么库来进行下载都是可以的,你可以用 httpclient 也可以用okhttp在本文中我们使用一个超轻量级的网络请求库 oh-my-request (没错,就是在下搞的)。优秀的框架设计会将这个下载组件置为可替换,提供默认的即可。

 

爬虫调度器,调度器和我们在开发 web 应用中的控制器是一个类似的概念,它用于在下载器、解析器之间做流转处理。 解析器可以解析到更多的 URL 发送给调度器,调度器再次的传输给下载器,这样就会让各个组件有条不紊的进行工作。

 

网页解析器我们知道当一个页面下载完成后就是一段 HTML 的 DOM 字符串表示,但还需要提取出真正需要的数据以前的做法是通过String的API 或者正则表达式的方式在DOM 中搜寻,这样是很麻烦的,框架 应该提供一种合理、常用、方便的方式来帮助用户完成提取数据这件事儿。常用的手段是通过xpath或者css选择器从DOM中进行提取,而且学习这项技能在几乎所有的爬虫框架中都是适用的。

 

数据处理,普通的爬虫程序中是把网页解析器和数据处理器合在一起的,解析到数据后马上处理。 在一个标准化的爬虫程序中,他们应该是各司其职的,我们先通过解析器将需要的数据解析出来,可能是封装成对象。然后传递给数据处理器,处理器接收到数据后可能是存储到数据库,也可能通过接口发送给老王。



Scrapy:一个为了爬取网站数据,提取结构性数据而编写的应用框架。应用在数据挖掘、信息处理或者存储历史数据等一系列程序中。是很强大的爬虫框架,可以满足简单的页面爬取。
Crawley:高速爬取对应网站内容,支持关系和非关系数据库,数据可以导出为JSON、XML等。
Portia:开源可视化爬虫工具,使用者在不需要任何编程知识的情况下爬取网站,简单的注释自己感兴趣的页面,创建一个蜘蛛来从类似的页面提取数据。
newspaper:可以用来提取新闻、文章和内容分析。使用多线程、支持10多种语言。
python-goose:可以提取的信息包含文章主体内容、文章主要图片、文章中嵌入的任何Youtube/Vimeo视频、元描述、元标签。
Beautiful Soup:名气很大,整合了一些常用的爬虫需求。可以从HTML或XML文件中提取数据的Python库。

1.Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中
2.pyspider 是一个用python实现的功能强大的网络爬虫系统,能在浏览器界面上进行脚本的编写,功能的调度和爬取结果的实时查看,后端使用常用的数据库进行爬取结果的存储,还能定时设置任务与任务优先级等。
3.Crawley可以高速爬取对应网站的内容,支持关系和非关系数据库,数据可以导出为JSON、XML等
4.Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间。
还有很多,比如Newspaper,Grab,Cola等等...python的框架,全套的各个功能的在传智播客的技术交流里面都有。可以去找找,更详细。

比较流行的scrapy

1.Scrapy是一个为了爬取网站数据

  • python鐨勭埇铏鏋舵湁鍝簺?
    绛旓細鐖櫕妗嗘灦闇瑕乁RL銆侀〉闈笅杞藉櫒銆佺埇铏皟搴﹀櫒銆佺綉椤佃В鏋愬櫒銆佹暟鎹鐞 鐖櫕妗嗘灦瑕佸鐞嗗緢澶氱殑URL锛屾垜浠渶瑕佽璁′竴涓槦鍒楀瓨鍌ㄦ墍鏈夎澶勭悊鐨 URL锛岃繖绉嶅厛杩涘厛鍑虹殑鏁版嵁缁撴瀯闈炲父绗﹀悎杩欎釜闇姹傘 灏嗘墍鏈夎涓嬭浇鐨刄RL瀛樺偍鍦ㄥ緟澶勭悊闃熷垪涓紝姣忔涓嬭浇浼氬彇鍑轰竴涓紝闃熷垪涓氨浼氬皯涓涓傛垜浠煡閬撴湁浜沀RL鐨勪笅杞戒細鏈夊弽鐖櫕绛栫暐锛...
  • python鐖櫕闇瑕佸畨瑁鍝簺搴
    绛旓細pyquery鏄竴涓綉椤佃В鏋愬簱锛岄噰鐢ㄧ被浼糺query鐨勮娉曟潵瑙f瀽HTML鏂囨。銆備笁銆 瀛樺偍搴 1. mysql 2. mongodb 3. redis 鍥涖 鐖櫕妗嗘灦scrapy Scrapy 鏄竴濂楀紓姝ュ鐞嗘鏋讹紝绾python瀹炵幇鐨勭埇铏鏋锛岀敤鏉ユ姄鍙栫綉椤靛唴瀹逛互鍙婂悇绉嶅浘鐗 闇瑕佸厛瀹夎scrapy鍩烘湰渚濊禆搴擄紝姣斿lxml銆乸yOpenSSL銆乀wisted ...
  • python甯哥敤鐨8涓妗嗘灦
    绛旓細鐩戞祴鍜岃嚜鍔ㄥ寲娴嬭瘯Scrapy鍚稿紩浜虹殑鍦版柟鍦ㄤ簬瀹冩槸涓涓鏋讹紝浠讳綍浜洪兘鍙互鏍规嵁闇姹傛柟渚跨殑淇敼銆傚畠涔熸彁渚涗簡澶氱绫诲瀷鐖櫕鐨勫熀绫伙紝濡侭aseSpider銆.sitemap鐖櫕绛夛紝鏈鏂扮増鏈張鎻愪緵浜唚eb2.0鐖櫕鐨勬敮鎸併係crap,鏄鐗囩殑鎰忔濓紝杩欎釜Python鐨勭埇铏鏋鍙玈crapy銆8.pandas pandas鏄熀浜嶯umPy鐨勪竴绉嶅伐鍏凤紝璇ュ伐鍏锋槸涓轰簡瑙e喅鏁版嵁...
  • Python缂栫▼缃戦〉鐖櫕宸ュ叿闆嗕粙缁
    绛旓細銆愬璇戝浜庝竴涓蒋浠跺伐绋嬪紑鍙戦」鐩潵璇达紝涓瀹氭槸浠庤幏鍙栨暟鎹紑濮嬬殑銆備笉绠℃枃鏈庝箞澶勭悊锛屾満鍣ㄥ涔犲拰鏁版嵁鍙戞帢锛岄兘闇姹傛暟鎹紝闄や簡閫氳繃涓浜涢斿緞璐拱鎴栬涓嬭浇鐨勪笓涓氭暟鎹锛屽父甯搁渶姹傚挶浠嚜宸辩潃鎵嬬埇鏁版嵁锛鐖櫕灏辨樉寰楁牸澶栭噸瑕侊紝閭d箞Python缂栫▼缃戦〉鐖櫕涓滆タ闆鏈夊摢浜鍛?涓嬮潰灏辨潵缁欏ぇ瀹朵竴涓浠嬬粛涓涓嬨1銆 Beautiful Soup 瀹㈣...
  • python妗嗘灦鏄粈涔,涓绘祦妗嗘灦鏈夊摢浜
    绛旓細杩欎簺妗嗘灦鍖呮嫭浜嬩欢I/O锛孫LAP锛學eb寮鍙戯紝楂樻ц兘缃戠粶閫氫俊锛屾祴璇曪紝鐖櫕绛夈1銆丏jango: Python Web搴旂敤寮鍙戞鏋禗jango 搴旇鏄渶鍑哄悕鐨Python妗嗘灦锛孏AE鐢氳嚦Erlang閮芥湁妗嗘灦鍙楀畠褰卞搷銆侱jango鏄蛋澶ц屽叏鐨勬柟鍚戯紝瀹冩渶鍑哄悕鐨勬槸鍏跺叏鑷姩鍖栫殑绠$悊鍚庡彴锛氬彧闇瑕佷娇鐢ㄨ捣ORM锛屽仛绠鍗曠殑瀵硅薄瀹氫箟锛屽畠灏辫兘鑷姩鐢熸垚鏁版嵁搴撶粨鏋勩...
  • python閮鏈夊摢浜涙鏋?
    绛旓細3銆丼crapy Scrapy鏄竴涓交閲忕骇鐨勪娇鐢≒ython缂栧啓鐨勭綉缁鐖櫕妗嗘灦锛岃繖涔熸槸瀹冧笌鍏朵粬Python妗嗘灦鏈澶х殑鍖哄埆銆傚洜涓轰笓闂ㄧ敤浜庣埇鍙栫綉绔欏拰鑾峰彇缁撴瀯鏁版嵁涓斾娇鐢ㄨ捣鏉ラ潪甯哥殑鏂逛究锛孲crapy鐢ㄩ斿箍娉涳紝鍙互鐢ㄤ簬鏁版嵁鎸栨帢銆佺洃娴嬪拰鑷姩鍖栨祴璇曠瓑绛夈4銆丏iesel Diesel鏄熀浜嶨reenlet鐨勪簨浠禝/O妗嗘灦锛屽畠鎻愪緵涓涓暣娲佺殑API鏉ョ紪鍐欑綉缁滃鎴风鍜...
  • python鐖櫕鏈夊灏戠鏂瑰紡?鍙細鏈绠鍗曠殑姝e垯琛ㄨ揪寮,杩樻湁鍏朵粬浠涔堝伐鍏峰悧...
    绛旓細Python鐖櫕鏈澶氱鏂瑰紡锛岄櫎浜嗘鍒欒〃杈惧紡涔嬪锛杩樻湁浠ヤ笅鍑犵甯哥敤鐨勫伐鍏凤細1. BeautifulSoup锛氭槸Python鐨涓涓簱锛岀敤浜庝粠HTML鎴朮ML鏂囦欢涓彁鍙栨暟鎹傚畠鎻愪緵浜嗙畝鍗曠殑API锛屼娇寰楄В鏋愬鏉傜殑HTML鏂囨。鍙樺緱瀹规槗銆2. Scrapy锛氭槸涓涓敤浜庣埇鍙栫綉绔欏苟鎻愬彇缁撴瀯鍖栨暟鎹殑Python妗嗘灦銆傚畠鍏锋湁楂樺害鐨勫彲鎵╁睍鎬у拰鐏垫椿鎬э紝鍙互閫氳繃缂栧啓...
  • python鐖櫕鐢ㄤ粈涔妗嗘灦
    绛旓細python鐖櫕妗嗘灦姒傝堪 鐖櫕妗嗘灦涓姣旇緝濂界敤鐨勬槸 Scrapy 鍜孭ySpider銆俻yspider涓婃墜鏇寸畝鍗曪紝鎿嶄綔鏇村姞绠渚匡紝鍥犱负瀹冨鍔犱簡 WEB 鐣岄潰锛屽啓鐖櫕杩呴燂紝闆嗘垚浜唒hantomjs锛屽彲浠ョ敤鏉ユ姄鍙杍s娓叉煋鐨勯〉闈係crapy鑷畾涔夌▼搴﹂珮锛屾瘮 PySpider鏇村簳灞備竴浜涳紝閫傚悎瀛︿範鐮旂┒锛岄渶瑕佸涔犵殑鐩稿叧鐭ヨ瘑澶氾紝涓嶈繃鑷繁鎷挎潵鐮旂┒鍒嗗竷寮忓拰澶氱嚎绋嬬瓑绛夋槸闈炲父...
  • Python鐖櫕濡備綍鍐?
    绛旓細鑷虫锛屾垜浠氨瀹屾垚浜嗗埄鐢python鏉ョ埇鍙栫綉椤垫暟鎹傛荤殑鏉ヨ锛屾暣涓繃绋嬪緢绠鍗曪紝requests鍜孊eautifulSoup瀵逛簬鍒濆鑰呮潵璇达紝闈炲父瀹规槗瀛︿範锛屼篃鏄撴帉鎻★紝鍙互瀛︿範浣跨敤涓涓嬶紝鍚庢湡鐔熸倝鍚庯紝鍙互瀛︿範涓涓媠crapy鐖櫕妗嗘灦锛屽彲浠ユ槑鏄炬彁楂樺紑鍙戞晥鐜囷紝闈炲父涓嶉敊锛屽綋鐒讹紝缃戦〉涓鏄湁鍔犲瘑銆侀獙璇佺爜绛夛紝杩欎釜灏遍渶瑕佽嚜宸卞ソ濂界悽纾紝鐮旂┒瀵圭瓥...
  • python鎶鏈鏈夊摢浜
    绛旓細Python鏄竴绉嶈法骞冲彴鐨勮绠楁満绋嬪簭璁捐璇█锛岀洰鍓嶅父瑙佺殑Python鎶鏈湁Flask妗嗘灦銆丏jango妗嗘灦銆乀ornado妗嗘灦銆佸绾跨▼鐖櫕銆佹暟鎹殑瀛樺偍銆佺牬瑙e姞瀵嗐丼crapy妗嗘灦绛夈傚涔燩ython鎶鏈鎺屾彙Python鍩虹璇硶锛屽叿澶囧熀纭鐨勭紪绋嬭兘鍔涳紝鎺屾彙web鍓嶇鎶鏈唴瀹癸紝鎺屾彙web鍚庣妗嗘灦锛岀啛缁冧娇鐢‵lask銆乀ornado銆丏jango锛屽彲浠ュ畬鎴愭暟鎹洃鎺у悗鍙扮殑椤圭洰...
  • 扩展阅读:爬虫一单多少钱 ... 靠谱的python爬虫 ... 十大爬虫框架排行榜 ... java爬虫框架使用排行 ... 学python后到底能干什么 ... 为什么爬虫会坐牢 ... 爬虫python官网 ... 爬虫自学难度大吗 ... python初学编程必背 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网