>

Sony 의 제목을 알고 자 할 때  아래 코드를 사용하는 헤드셋, 코드 결과는 None 입니다. .

import requests    
from bs4 import BeautifulSoup
URL = 'https://www.amazon.com/Sony-Noise-Cancelling-Headphones- 
       WH1000XM3/dp/B07G4MNFS1/ref=sxin_0_ac_d_rm?ac_md=0-0-c29ueQ%3D%3D- 
       ac_d_rm&keywords=sony&pd_rd_i=B07G4MNFS1&pd_rd_r=3e6d5325-8ee4-4ba8-a84f- 
       1b7cf2ce98bf&pd_rd_w=BVSFq&pd_rd_wg=I0LMZ&pf_rd_p=e2f20af2-9651-42af-9a45- 
       89425d5bae34&pf_rd_r=VGT25BXXZNDE3B61A994&psc=1&qid=1577253649&smid=ATVPDKIKX0DER'
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like 
Gecko) Chrome/79.0.3945.88 Safari/537.36"}
page = requests.get(URL, headers=headers)    
soup = BeautifulSoup(page.content, "html.parser")
soup.prettify()
#print(soup)
title = soup.find_all('span', {'id':'productTitle'})                        
print(title, len(title))  

현재 출력은 :

[ ] 0

  • 답변 # 1

    나는 지난 2 시간 동안 BeautifulSoup으로 그 타이틀을 긁어 보았습니다. 페이지의 다른 요소를 긁어 보았습니다. 성공하지 못했습니다. 원시 콘텐츠를 파일로 보내려고 시도했는데 이상한 문자가 있었기 때문에 문제가 발생했습니다.

    아메드의 대답을 시도했지만 여전히 아무것도 얻지 못했습니다. 온라인에서 찾은 다른 솔루션을 시도했지만 여전히 아무것도 얻지 못했습니다. 나는 내 인생에 BeautifulSoup 를 사용하는 방법을 알아낼 수 없습니다  이것을 긁기 위해.

    여러분이 셀레늄을 사용하고 있다는 것을 알고 있으므로 여기 셀레늄 솔루션이 있습니다.

    from selenium import webdriver
    bot = webdriver.Chrome()
    bot.get("https://www.amazon.com/Sony-Noise-Cancelling-Headphones-WH1000XM3/dp/B07G4MNFS1/ref=sxin_0_ac_d_rm?ac_md=0-0-c29ueQ==-ac_d_rm&keywords=sony&pd_rd_i=B07G4MNFS1&pd_rd_r=3e6d5325-8ee4-4ba8-a84f-1b7cf2ce98bf&pd_rd_w=BVSFq&pd_rd_wg=I0LMZ&pf_rd_p=e2f20af2-9651-42af-9a45-89425d5bae34&pf_rd_r=VGT25BXXZNDE3B61A994&psc=1&qid=1577253649&smid=ATVPDKIKX0DER")
    title = bot.find_element_by_id('productTitle').text
    print(title)
    bot.close()
    
    
    

  • 답변 # 2

    import requests
    from bs4 import BeautifulSoup
    r = requests.get("https://www.amazon.com/Sony-Noise-Cancelling-Headphones-WH1000XM3/dp/B07G4MNFS1/ref=sxin_0_ac_d_rm?ac_md=0-0-c29ueQ==-ac_d_rm&keywords=sony&pd_rd_i=B07G4MNFS1&pd_rd_r=3e6d5325-8ee4-4ba8-a84f-1b7cf2ce98bf&pd_rd_w=BVSFq&pd_rd_wg=I0LMZ&pf_rd_p=e2f20af2-9651-42af-9a45-89425d5bae34&pf_rd_r=VGT25BXXZNDE3B61A994&psc=1&qid=1577253649&smid=ATVPDKIKX0DER")
    soup = BeautifulSoup(r.text, 'html.parser')
    for item in soup.findAll("span", {'id': 'productTitle'}):
        print(item.get_text(strip=True))
    
    
    

    출력 :

    Sony Noise Cancelling Headphones WH1000XM3: Wireless Bluetooth Over the Ear Headphones with Mic and Alexa voice control - Industry Leading Active Noise Cancellation - Black
    
    

    온라인 코드 실행 : 여기를 클릭하십시오

  • 이전 java - 아래 형식의 정규 표현식을 사용한 마스킹
  • 다음 emacs - rgrep - 버퍼 전환없이 방문 일치