The main purpose this time is to obtain product information from Taobao’s search page. In fact, it is easy to find information by analyzing the page. The page information is stored directly on the nested page in a static manner, making it easy to find. The main difficulty is to separate the information from the HTML source code. The data and the web page source code are closely integrated, so it is difficult to separate the data.
Then write the obtained information into an excel table and save it. This time, only the content of the first 10 pages was crawled.
The code is as follows:
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()
For more Python-related technical articles, please visit the Python Tutorial column to learn!
The above is the detailed content of How to crawl Taobao product data in Python. For more information, please follow other related articles on the PHP Chinese website!