Web抓取错误:请求且没有连接 - python

我正在尝试用python编写我的第一个程序。网络抓取计划的目的是从多种产品的潜在100个或更多网站上获取价格。我能够为一个网站编写该程序,并将其导出到excel文件中而没有任何问题。但是,当我尝试通过网络抓取多个站点时遇到问题。

我试图将多个URL放入列表中,然后创建一个for循环以为每个URL运行相同的代码。下面是代码:

import pandas as pd
import requests
from bs4 import BeautifulSoup

#Aero Stripped Lowers
url = ['https://www.aeroprecisionusa.com/ar15/lower-receivers/stripped-lowers?product_list_limit=all', 'https://www.aeroprecisionusa.com/ar15/lower-receivers/complete-lowers?product_list_limit=all']
for website in url:
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0"}
    page = requests.get(url, headers=headers)
    soup = BeautifulSoup(page.content, 'html.parser')

#Locating All Stripped Aero Lowers On Site
all_aero_stripped_lowers = soup.find(class_='products wrapper container grid products-grid')
items = all_aero_stripped_lowers.find_all(class_='product-item-info')

#Identifying All Aero Stipped Lower Names And Prices
aero_stripped_lower_names = [item.find(class_='product-item-link').text for item in items]
aero_stripped_lower_prices = [item.find(class_='price').text for item in items]


Aero_Stripped_Lowers_Consolidated = pd.DataFrame(
    {'Aero Stripped Lower': aero_stripped_lower_names,
     'Prices': aero_stripped_lower_prices,
     })

Aero_Stripped_Lowers_Consolidated.to_csv('MasterPriceTracker.csv')

我收到以下错误:

Traceback (most recent call last):
  File "C:/Users/ComputerName/Documents/PyCharm_Projects/Aero Stripped Lower List/NewAeroStrippedLower.py", line 9, in <module>
    page = requests.get(url, headers=headers)
  File "C:\Python\Python38\lib\site-packages\requests\api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Python\Python38\lib\site-packages\requests\api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Python\Python38\lib\site-packages\requests\sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Python\Python38\lib\site-packages\requests\sessions.py", line 640, in send
    adapter = self.get_adapter(url=request.url)
  File "C:\Python\Python38\lib\site-packages\requests\sessions.py", line 731, in get_adapter
    raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for '['https://www.aeroprecisionusa.com/ar15/lower-receivers/stripped-lowers?product_list_limit=all', 'https://www.aeroprecisionusa.com/ar15/lower-receivers/complete-lowers?product_list_limit=all']'

预先感谢您可能提供的任何帮助!

参考方案

您正在列表上使用request.get()。这是一个简单的错误:

# -- snip --

for website in url:
    headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0"}
    page = requests.get(website, headers=headers) # not 'url'
    soup = BeautifulSoup(page.content, 'html.parser')

# -- snip --

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…

Python uuid4,如何限制唯一字符的长度 - python

在Python中,我正在使用uuid4()方法创建唯一的字符集。但是我找不到将其限制为10或8个字符的方法。有什么办法吗?uuid4()ffc69c1b-9d87-4c19-8dac-c09ca857e3fc谢谢。 参考方案 尝试:x = uuid4() str(x)[:8] 输出:"ffc69c1b" Is there a way to…

无法注释掉涉及多行字符串的代码 - python

基本上,我很好奇这为什么会引发语法错误,以及如何用Python的方式来“注释掉”我未使用的代码部分,例如在调试会话期间。''' def foo(): '''does nothing''' ''' 参考方案 您可以使用三重双引号注释掉三重单引…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。