前戏 os.environ()简介
os.environ()可以获取到当前进程的环境变量,注意,是当前进程。
如果我们在一个程序中设置了环境变量,另一个程序是无法获取设置的那个变量的。
环境变量是以一个字典的形式存在的,可以用字典的方法来取值或者设置值。
os.environ() key字段详解windows:
os.environ['HOMEPATH']:当前用户主目录。 os.environ['TEMP']:临时目录路径。 os.environ[PATHEXT']:可执行文件。 os.environ['SYSTEMROOT']:系统主目录。 os.environ['LOGONSERVER']:机器名。 os.environ['PROMPT']:设置提示符。linux:
os.environ['USER']:当前使用用户。 os.environ['LC_COLLATE']:路径扩展的结果排序时的字母顺序。 os.environ['SHELL']:使用shell的类型。 os.environ['LAN']:使用的语言。 os.environ['SSH_AUTH_SOCK']:ssh的执行路径。内置的方式 原理
scrapy框架内部已经实现了设置代理的方法,它的原理是从环境变量中取出设置的代理,然后再使用,
所以我们只需要在程序执行前将代理以键值对的方式设置到环境变量中即可。
代码第一种方式:直接添加键值对的方式
class ChoutiSpider(scrapy.Spider): name = 'chouti' allowed_domains = ['chouti.com'] start_urls = ['https://dig.chouti.com/'] cookie_dict = {} def start_requests(self): import os os.environ['HTTPS_PROXY'] = "http://username:password@192.168.11.11:9999/" os.environ['HTTP_PROXY'] = '19.11.2.32', for url in self.start_urls: yield Request(url=url,callback=self.parse)