提升python运行速度的一些技巧 原创
大数据时代,Python 是目前使用最广泛的编程语言之一,它是一种解释型高级通用编程语言,具有广泛的用途,几乎可以将其用于所有事物。其以简单的语法、优雅的代码和丰富的第三方库而闻名。python除了有很多优点外,但在速度上还有一个非常大的缺点。虽然Python代码运行缓慢,但可以通过下面分享的5个小技巧提Python运行速度。
1、选择合适的数据库结构,使用正确的数据结构对python脚本的运行时间有显着影响。
2、善用强大的内置函数和第三方库,如果你正在使用python并且仍在自己编写一些通用函数,那建议可以试试 Python提供的库和内置函数来帮助你不用编写这些函数。
3、避免循环重复计算,如果你有一个迭代器,必须用它的元素做一些耗时计算,比如匹配正则表达式。你应该将正则表达式模式定义在循环之外,因为最好只编译一次模式,而不是在循环的每次迭代中一次又一次地编译它。只要有可能,就应该尝试在循环外进行尽可能多的运算,比如将函数计算分配给局部变量,然后在函数中使用它。
4、访问目标网站过程中多做反爬措施,尤其是一些比较有价值的网站对IP的要求很严。在访问的过程中需要加上高质量的IP。代理有很多的选择,比如使用隧道模式的代理。这里我们示例的亿牛云爬虫代理IP,简直的代理IP的添加方式如下:
Plain Text复制代码
1. #! -*- encoding:utf-8 -*-
2. import requests
3. import random
4. # 要访问的目标页面
5. targetUrl = "http://httpbin.org/ip"
6. # 要访问的目标HTTPS页面
7. # targetUrl = "https://httpbin.org/ip"
8. # 代理服务器(产品官网 www.16yun.cn)
9. proxyHost = "t.16yun.cn"
10. proxyPort = "31111"
11. # 代理验证信息
12. proxyUser = "username"
13. proxyPass = "password"
14. proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
15. "host" : proxyHost,
16. "port" : proxyPort,
17. "user" : proxyUser,
18. "pass" : proxyPass,
19. }
20. # 设置 http和https访问都是用HTTP代理
21. proxies = {
22. "http" : proxyMeta,
23. "https" : proxyMeta,
24. }
25. # 设置IP切换头
26. tunnel = random.randint(1,10000)
27. headers = {"Proxy-Tunnel": str(tunnel)}
28. resp = requests.get(targetUrl, proxies=proxies, headers=headers)
29. print resp.status_code
30. print resp.text
- 上一篇: 爬虫的冷门语言Golang
- 下一篇: 爬取豆瓣读书的详细步骤