淘宝爬取商品信息,并写入csv

淘宝爬取基本商品信息
有价格,商品名称,购买人数,店铺,地点
最后写入csv
整体爬取没什么,时间原因没有去爬评论和评分的详细信息,淘宝网站更新后需要浏览器的cookie,我这里就不展示我的cookie了,太长。本文写的时候借鉴了https://blog.csdn.net/holyjesus/article/details/100835712?utm_source=app。

下面是完整代码

import requests
import re
import numpy as np
#获取网页
def getHTMLText(url):
    header={
            'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36',
            'cookie': ' 。。。。'}
    r=requests.get(url,headers=header,timeout=30)
    return r.text


#解析获取的网页
def parsePage(ilt,html):

    plt=re.findall(r'\"view_price\"\:\"[\d\.]*"',html)
    tlt=re.findall(r'\"raw_title\"\:\".*?"',html)
    slt=re.findall(r'\"view_sales\"\:\".*?"',html)
    nlt=re.findall(r'\"nick\"\:\".*?"',html)
    llt=re.findall(r'\"item_loc\"\:\".*?"',html)
    count=0
    for i in range(len(plt)):
        count=count+1
        price=eval(plt[i].split(':')[1])   #价格
        title=eval(tlt[i].split(':')[1])   #商品名称
        people=eval(slt[i].split(':')[1])   #购买人数
        nick=eval(nlt[i].split(':')[1])    #所属店铺
        loc=eval(llt[i].split(':')[1])     #地点
        ilt.append([count,price,title,people,nick,loc])
        
#数据写入csv
def writeAll(num):
    np.savetxt('new.csv',num,fmt='%s',delimiter=',')
#主函数
def main():
    goods='手机'
    priceMin='1500'
    priceMax='3500'
    deep=1
    start_url='https://s.taobao.com/search?q='+goods+'&filter=reserve_price%5B'+priceMin+'%2C'+priceMax+'%5D'
    indolist=[]  #输出结果
    elem_list=[]
    elem_list.append("序号")
    elem_list.append("价格")
    elem_list.append("商品名称")
    elem_list.append("购买人数")
    elem_list.append("店铺")
    elem_list.append("地点")
    indolist.append(elem_list)
    for i in range(deep):
        try:
            
            url=start_url + '&s=' + str(i)
            print(url)
            html=getHTMLText(url)
            print(html)
            parsePage(indolist,html)
        except:
            continue
   
    writeAll(indolist);
    #printScreen(indolist)
main()
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值