Python은 [Amazon 제품]에 대한 데이터 수집을 구현합니다.

머리말

아마존은 미국에서 가장 큰 온라인 전자상거래 회사입니다. 워싱턴주 시애틀에 위치하고 있습니다.
인터넷에서 전자상거래를 시작한 최초의 회사 중 하나입니다. 아마존은 1994년에 설립되었습니다.
오늘은 그 방법을 알려드리겠습니다 . Python을 사용 하여 Amazon 플랫폼에서 제품 데이터 일괄 수집
주소: https://www.amazon.cn/

웹사이트 데이터 분석 및 URL 주소 찾기

1. F12 키를 누르고 개발자 도구를 열고 웹 사이트를 새로 고칩니다
. 2. 검색을 클릭하고 데이터 키워드를 입력합니다.
3. 데이터가 있는 URL 주소를 찾습니다.

코드 시작

1. 요청 보내기

headers = {
    
    
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Accept-Encoding': 'gzip, deflate, br',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Cache-Control': 'max-age=0',
    'Connection': 'keep-alive',
    'Cookie': 'session-id=460-4132650-8765807; i18n-prefs=CNY; ubid-acbcn=457-7935785-7667244; session-token=Laa3G6hMbBpdAIPYwutQqKxkSISU8fb2jTr0JiczqkeVISvqn2eqjw4N0BAbYfmy8+/S1B3kLvDb9ImsBnbwQHU6JG8EToefDoi69keaL1F6ExYDXCSqFF0hC4fkGAFJlNYYNqfVlvj5ewTVJP1pYgL4JG2tjM5O2Uk7ufiL9s7gvidAMaUj1QtBW5puqmoG; csm-hit=adb:adblk_no&t:1645531896484&tb:s-VMQ97YXPSC1MBACTN14J|1645531895768; session-id-time=2082729601l',
    'downlink': '10',
    'ect': '4g',
    'Host': 'www.amazon.cn',
    'Referer': 'https://www.amazon.cn/b/ref=s9_acss_bw_cg_pccateg_2a1_w?node=106200071&pf_rd_m=A1U5RCOVU0NYF2&pf_rd_s=merchandised-search-2&pf_rd_r=KE929JDVF8QRWWDQCWC0&pf_rd_t=101&pf_rd_p=cdcd9a0d-d7cf-4dab-80db-2b7d63266973&pf_rd_i=42689071',
    'rtt': '150',
    'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="98", "Google Chrome";v="98"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'Sec-Fetch-Dest': 'document',
    'Sec-Fetch-Mode': 'navigate',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-User': '?1',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36',
}

url = 'https://www.amazon.cn/s?rh=n%3A106200071&fs=true&ref=lp_106200071_sar'

response = requests.get(url=url, headers=headers)

2. 데이터 가져오기

print(response)

반환 결과는 <Response [200]>입니다. 요청이 성공
하고 결과가 캡슐화됩니다.

data_html = response.text

3. 데이터 파싱

selector = parsel.Selector(data_html)
divs = selector.css('.a-section.a-spacing-base')
for div in divs:
    # ::text: 提取到标签文本内容
    title = div.css('.a-size-base-plus.a-color-base.a-text-normal::text').get()
    price = div.css('.a-size-base.a-link-normal.s-underline-text.s-underline-link-text.s-link-style.a-text-normal .a-price .a-offscreen::text').get()
    img_url = div.css('.a-section.aok-relative.s-image-square-aspect .s-image::attr(src)').get()
    link = div.css('.a-link-normal.s-no-outline::attr(href)').get()
    print(title, price, img_url, link)

4. 데이터 저장

with open('亚马逊.csv', mode='a', encoding='utf-8', newline='') as f:
    csv_writer = csv.writer(f)
    csv_writer.writerow([title, price, img_url, link])

5. 페이지 넘기기

for page in range(1, 401):
    url = f'https://www.amazon.cn/s?i=computers&rh=n%3A106200071&fs=true&page={page}&qid=1645537294&ref=sr_pg_3'

이 방법으로 완전한 데이터가 수집됩니다: 완전한 소스 코드 Python 데이터 분석 + 시각화 프로젝트 사례 교육: Amazon 플랫폼 사용자 주문 데이터 분석
도 있습니다.

추천

출처blog.csdn.net/m0_48405781/article/details/123233077