当前位置: 首页 > 知识库问答 >
问题:

每次尝试加载页面并循环浏览代理

祝灼光
2023-03-14

我目前正试图通过做一些小而愚蠢的项目来学习Python,试图让我的头脑了解某些方面,但我遇到了一些困难。我想做一些东西,将访问一个页面使用代理列表,我在一个网站。txt文件。我希望它使用文件中的第一个代理加载网页,然后使用第二个代理加载网页,依此类推。然而,我不断地遇到这个错误:回溯(最近一次调用是最后一次):文件“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\uuuuu main\uuuuu.py”,第434行,在主运行()文件“c:\Users\Admin.vscode\extensions\ms python.python-2019.6.24221\pythonFiles\lib\python\ptvsd\uu main\uuuu.py”,第312行,在运行文件runpy中。运行路径(target,run\u name='main')文件“C:\Users\Admin\AppData\Local\Programs\Python37-32\lib\runpy.py”,第263行,在运行路径pkg\u name=pkg\u name,script\u name=fname)文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\runpy.py”第96行,在运行模块代码mod\u name,mod\u spec,pkg\u name,script\u name,script\u name)文件中“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\runpy。py”,第85行,在运行代码执行(代码,运行全局)文件“c:\Users\Admin\Documents\PythonScripts\ebay流量”中。py”,第10行,在r=requests.get(url,proxies=line)文件“C:\Users\Admin\AppData\Local\Programs\Python37-32\lib\site packages\requests\api”中。py”,第75行,在get返回请求(“get”,url,params=params,**kwargs)文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site packages\requests\api”中。py”,第60行,在请求返回会话中。请求(方法=方法,url=url,**kwargs)文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site packages\requests\sessions”。py”,第524行,在request prep.url、代理、流、验证、证书文件“C:\Users\Admin\AppData\Local\Programs\Python\Python37-32\lib\site packages\requests\sessions”中。py”,第699行,在合并环境\u设置中no\u proxy=proxies.get('no\u proxy')如果proxies不是None-other None AttributeError:'str'对象没有属性'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()

我希望它在连接到代理时加载页面时打印代理文件的每一行。

共有2个答案

百里雅珺
2023-03-14

您需要将代理作为dict提供给python请求,即:

import requests
url = input('Website:\n')
with open('proxies.txt') as f:
    proxies = [x.strip() for x in list(f)]
for p in proxies:
    r = requests.get(url, proxies={'http': p, 'https': p})
    print(r.text)

演示

蒙华翰
2023-03-14

您需要以dict的形式传递代理

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()
 类似资料:
  • 问题内容: 这是我以前在这里发表的上一篇文章的扩展,我无法上班,但是更新Selenium后现在出现新错误。 我正在使用Python 3.5,Windows 8.1,Selenium 3.0.1 我知道代码可以工作,因为它可以在我的MAC上工作,但是当我将代码转移到如上所述的工作计算机上时,发生的唯一事情是浏览器将打开,但不会加载任何内容,甚至不会加载主页。 从搜索中可以找到的所有内容中,我下载了g

  • 页面浏览分为两部分: 时间/页面筛选 和 页面浏览详情 1.时间/页面筛选 1)便捷按钮有今日、昨日、前日、上周 X、近七天 2)能自定义选择时间段,同时能搜索出个别字眼的页面来得出想要的结果报表 2.页面浏览详情 1)页面浏览,是指被浏览的网页,点击表头可以按相应的项目排序 2)如有需要,亦可点击下载当前报表及更多数据下载,将报表下载到个人电脑,以供存档及分析 3)点击 [细] 可查看访

  • 考虑这个简单的C++函数来计算数组的前缀和: 它是4个融合的UOP1,这个CPU可以支持4个融合的OPs/周期。 有通过和携带的依赖链,每个都是一个循环,但是这些UOP可以到4个ALU端口中的任何一个,所以似乎不太可能冲突。融合的需要转到p6,这是一个更令人担忧的问题,但我只测量到p6的1.1 UOPS/迭代。这将解释每次迭代1.1个循环,但不是1.4个循环。如果我将循环展开2倍,端口压力会低得多

  • 值5=5 值6=6 值7=7 结果lopping1=6 结果lopping2=15 结果lopping3=24 我该怎么办?

  • 我正在尝试获取一个

  • 我正在做一些产生正确结果的事情。然而,从设计观点来看,这是错误的。 该程序的重点是列出一个数字的所有幂的结果,直到并包括用户定义的限制。 我有一个构造函数,它接受扫描器中的基和指数。然后是一种利用for循环计算每个指数的幂的方法。 现在,问题是我直接从这个方法打印每个循环迭代的结果。这超过了私有变量的点,它首先是无效的。 因此,我想定义一个getter方法,它将每个幂的结果返回给输出。我过去常常为