Issue
#Import
from urllib.request import ProxyDigestAuthHandler, Request, urlopen
from bs4 import BeautifulSoup
from bs4.element import SoupStrainer
import requests
#PreInit
PROXY = {"https": "54.93.88.15:9300", "https": "165.22.81.30:38244", "https": "207.154.205.135:9999", "https": "88.198.26.145:8080", "https": "144.91.86.144:3128"}
url = "https://www.ebay.de/b/Laptops-Notebooks/175672/bn_1618754?LH_ItemCondition=7000&mag=1&rt=nc&_dmd=1&_sop=1"
req = Request(url, headers={"User-Agent": "Mozilla/5.0"}, proxies=PROXY)
webpage = urlopen(req).read()
#Init
with requests.Session() as c:
all_data = []
#Web init
soup = BeautifulSoup(webpage, "html5lib")
#Data collection...
print(shipping.text.strip())
The thing above is the relevant part to the error im getting when running the script. Where do i incorporate the "proxies" value? Help appreciated
Solution
You're getting this error because there is no "proxies" argument in the constructor for a Request. There's actually an example of a request using a proxy in the source code of the library you are using.
# Note assigning more than one value to a key in a dict will result in only the final value being assigned to the key
PROXY = {"https": "54.93.88.15:9300"}
url = "https://www.ebay.de/b/Laptops-Notebooks/175672/bn_1618754?LH_ItemCondition=7000&mag=1&rt=nc&_dmd=1&_sop=1"
req = Request(url, headers={"User-Agent": "Mozilla/5.0"})
# Create proxy ProxyHandler
proxy_support = urllib.request.ProxyHandler(PROXY)
# Create opener
opener = urllib.request.build_opener(proxy_support)
# Install opener
urllib.request.install_opener(opener)
webpage = urllib.request.urlopen(req)
Answered By - James Schultz
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.