> 백엔드 개발 > 파이썬 튜토리얼 > Python으로 Taobao 제품 데이터를 크롤링하는 방법

Python으로 Taobao 제품 데이터를 크롤링하는 방법

풀어 주다: 2019-07-08 09:13:46
원래의
6176명이 탐색했습니다.

Python으로 Taobao 제품 데이터를 크롤링하는 방법

이번 주요 목적은 타오바오 검색 페이지에서 상품 정보를 얻는 것입니다. 실제로 페이지를 분석하면 정보를 쉽게 찾을 수 있습니다. 페이지 정보는 페이지에 직접 중첩되어 정적으로 저장되므로 찾기가 쉽습니다. 가장 큰 어려움은 HTML 소스 코드에서 정보를 분리하는 것입니다. 데이터와 웹 페이지 소스 코드가 밀접하게 통합되어 있으므로 데이터를 분리하기가 어렵습니다.

그런 다음 얻은 정보를 Excel 테이블에 작성하고 저장합니다. 이번에는 처음 10페이지의 내용만 크롤링되었습니다.

코드는 다음과 같습니다.

import requests
import re
from xlwt import Workbook
import xlrd
import time
def key_name( number ):
    #获取页面的内容并返回
    name = '手机'
    URL_1 = "https://s.taobao.com/search?ie=utf8&initiative_id=staobaoz_20170905&stats_click=search_radio_all%3A1&js=1&imgfile=&q="
    URL_2 = "&suggest=0_1&_input_charset=utf-8&wq=u&suggest_query=u&source=suggest&p4ppushleft=5%2C48&s="
    URL = ( URL_1 + name + URL_2 + str(number))
    #print(URL)
    res = requests.get( URL )
    return res.text
def find_date( text):
    #根据整个页面的信息,获取商品的数据所在的HTML源码并放回
    reg = r',"data":{"spus":\[({.+?)\]}},"header":'
    reg = re.compile(reg)
    info = re.findall(reg, text)
    return info[0]
def manipulation_data( info, N, sheet ):
    #解析获取的HTML源码,获取数据
    Date = eval(info)
    for d in Date:
        T = " ".join([t['tag'] for t in d['tag_info']])
        #print(d['title'] + '\t' + d['price'] + '\t' + d['importantKey'][0:len(d['importantKey'])-1] + '\t' + T)
        
        sheet.write(N,0,d['title'])
        sheet.write(N,1,d['price'])
        sheet.write(N,2,T)
        N = N + 1
    return N
    
    
def main():
    
    book = Workbook()
    sheet = book.add_sheet('淘宝手机数据')
    sheet.write(0,0,'品牌')
    sheet.write(0,1,'价格')
    sheet.write(0,2,'配置')
    book.save('淘宝手机数据.xls')
    #k用于生成链接,每个链接的最后面的数字相差48.
    #N用于记录表格的数据行数,便于写入数据
    k = 0
    N = 1
    for i in range(10+1):
        text = key_name( k + i * 48 )
        info = find_date(text)
        N = manipulation_data( info ,N, sheet )
    
        book.save('淘宝手机数据.xls')
        print('下载第' + str(i) + '页完成')
if __name__ == '__main__':
    main()
로그인 후 복사

더 많은 Python 관련 기술 기사를 보려면 Python Tutorial 칼럼을 방문하여 알아보세요!

위 내용은 Python으로 Taobao 제품 데이터를 크롤링하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿