簡體   English   中英

為什么我無法使用Selenium python抓取特定的Amazon音樂頁面?

[英]Why can't i scrape the particular Amazon music page with selenium python?

https://www.amazon.com/Prettymuch-EP-PRETTYMUCH/dp/B07CF6YXDP

上面提到的純鏈接,而不是一次使用堆棧溢出標簽單擊該鏈接所指向的鏈接。

這是網址。

def get_soup(url):
headers = {'User-Agent':
           'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
           }
r = requests.get(url, headers=headers)
r.raise_for_status()
return BeautifulSoup(r.text, 'lxml')

url = input("Please enter an Amazon music url:")
soup = get_soup(url)

請求時出現錯誤,為什么呢?

Please enter an Amazon music url:https://www.amazon.com/Prettymuch-EP- 
PRETTYMUCH/dp/B07CF6YXDP 
Traceback (most recent call last):
  File "D:/Pycharm (4)/selemin.py", line 4, in <module>
    import amazon
  File "D:\Pycharm (4)\amazon.py", line 63, in <module>
    soup = get_soup(url)
  File "D:\Pycharm (4)\amazon.py", line 12, in get_soup
    r.raise_for_status()
  File "C:\Users\HP\AppData\Local\Programs\Python\Python37-32\lib\site- 
    packages\requests\models.py", line 940, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
 requests.exceptions.HTTPError: 404 Client Error: Not Found for url: 
 https://www.amazon.com/Prettymuch-EP-PRETTYMUCH/dp/B07CF6YXDP%20

看看錯誤告訴您什么-這是一個不同的URL。 特別是,它以%20結尾,因此會引發錯誤。 這意味着輸入末尾有一個空格。 我建議您處理您的輸入以避免這種情況,例如

new_url = url.strip()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM