Python怎么爬虫淘宝商品数据


本文摘自php中文网,作者尚,侵删。

这次的主要的目的是从淘宝的搜索页面获取商品的信息。其实分析页面找到信息很容易,页面信息的存放都是以静态的方式直接嵌套的页面上的,很容易找到。主要困难是将信息从HTML源码中剥离出来,数据和网页源码结合的很紧密,剥离数据有一定的难度。

然后将获取的信息写入excel表格保存起来,这次只爬取了前面10页的内容。

代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

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教程栏目进行学习!

以上就是Python怎么爬虫淘宝商品数据的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python是什么,如何使用Python

人工智能一之tensorflow环境配置

Python字典中的键可以重复吗

Python str函数是什么

Python数字怎么转对应中文

Python pow函数怎么用

linux自带Python

Python怎么读写文件

Python中extend是什么意思

Python随机漫步讲解

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...