python - 每次尝试加载页面并循环通过代理
问题描述
我目前正在尝试通过做一些愚蠢的小项目来学习 Python,以尝试了解某些部分,但我遇到了一些障碍。我想做一些可以使用 .txt 文件中的代理列表访问页面的东西。我希望它用文件中的第一个代理加载网页,然后用第二个代理加载页面,依此类推。但是,我不断收到此错误: Traceback(最近一次调用最后一次):文件“c:\Users\Admin.vscode\extensions\ms-python.python-2019.6.24221\pythonFiles\ptvsd_launcher.py”,第 43 行,在主要(ptvsdArgs)
文件“c:\Users\Admin.vscode\extensions\ms-python.python-2019.6.24221\pythonFiles\lib\python\ptvsd__main__.py”,第 434 行,在 main run() 文件“c:\Users\Admin .vscode\extensions\ms-python.python-2019.6.24221\pythonFiles\lib\python\ptvsd__main__.py",第 312 行,在 run_file runpy.run_path(target, run_name=' main') 文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\runpy.py”,第 263 行,run_path pkg_name=pkg_name, script_name=fname) 文件“C:\Users\ Admin\AppData\Local\Programs\Python\Python37-32\lib\runpy.py”,第 96 行,在 _run_module_code mod_name、mod_spec、pkg_name、script_name)文件“C:\Users\Admin\AppData\Local\Programs\Python \Python37-32\lib\runpy.py”,第 85 行,在 _run_code exec(code, run_globals) 文件“c:\Users\Admin\Documents\PythonScripts\ebay-traffic.py”,第 10 行,在 r = requests .get(url, proxies = line) 文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\api.py”,第 75 行,在获取返回请求中('get', url, params=params, **kwargs) 文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\api.py",第 60 行,在请求返回 session.request(method=method, url=url, ** kwargs)文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py”,第 524 行,在请求 prep.url、代理、流、验证,证书文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py”,第 699 行,在 merge_environment_settings no_proxy = proxies.get('no_proxy' ) if proxies is not None else None AttributeError: 'str' object has no attribute 'get'\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py”,第 524 行,在请求 prep.url、代理、流、验证、证书文件“C: \Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py",第 699 行,在 merge_environment_settings no_proxy = proxies.get('no_proxy') 如果代理不是 None否则无 AttributeError:“str”对象没有属性“get”\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py”,第 524 行,在请求 prep.url、代理、流、验证、证书文件“C: \Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py",第 699 行,在 merge_environment_settings no_proxy = proxies.get('no_proxy') 如果代理不是 None否则无 AttributeError:“str”对象没有属性“get”) if proxies is not None else None AttributeError: 'str' object has no attribute 'get') if proxies is not None else None AttributeError: 'str' object has no attribute 'get'
我尝试过各种愚蠢的事情,比如将代理文件放在 int() 中,但这显然不起作用(但我尝试了很多愚蠢的事情)。
import requests
proxyList = 'proxies.txt'
file = open(proxyList, "r")
url = input('Website: ')
for line in file:
print(line, end="")
r = requests.get(url, proxies = line)
print('Finished.')
input()
我希望它在连接到代理时加载页面时打印代理文件的每一行。
解决方案
您需要将代理作为字典传递
import requests
proxyList = 'proxies.txt'
file = open(proxyList, "r")
url = input('Website: ')
for line in file:
print(line, end="")
proxies = {'http': line.strip(), 'https': line.strip()}
r = requests.get(url, proxies=proxies)
print('Finished.')
input()
推荐阅读
- javascript - 使 li 正方形随窗口调整大小
- c - char a[] = {'a', '\0'} 和 char *b = "a" 是否相等?
- file - 使大型静态数据文件可用于 kubernetes pod
- regex - 如何为 reg 文件中的多行值正确构建 RegEx
- python-3.x - Kera LSTM 输入如何与输出对应
- python - 带参数的 xarray dataset.sel
- swift - “无法打开文件“photo.jpg”,因为无法确定其内容的文本编码。” ios swift中的错误
- postgresql - 迭代生长表
- ruby - 如何使用 Ruby 通过终端传递方法变量?
- iis - 是否可以在 url 重写规则中创建一个仅适用于部分用户的条件