python淘宝爬取

import requests
import re

def getHTMLText(url):
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text

    except:
        return ""
        
def parsePage(ilt,html):
    try:
        plt=re.findall(r'\"view_price\"\:\"[\d\.]*\"',html)
        tlt=re.findall(r'\"raw_title\"\:\".*?\"',html)
        for i in range(len(plt)):
            price=eval(plt[i].split(":")[1])
            title=eval(tlt[i].split(":")[1])
            ilt.append([price,title])
    except:
        print("")
        
def printGoodsList(ilt):
    tplt = "{:4}\t{:8}\t{:16}"
    print(tplt.format("序号","价格","商品名称"))
    count=0
    for g in ilt:
        count=count+1
        print(tplt.format(count,g[0],g[1]))
        print("")

def main():
    goods="眼镜"
    depth=2
    start_url="https://s.taobao.com/search?q="+goods
    infoList=[]
    for i in range(depth):
        try:
            url=start_url +"&s="+str(44*i)
            headers={
                "user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36",
                "cookie": "自己的cookie"
            }
            html=requests.get(url,headers=headers)
            print(html.text)
            parsePage(infoList,html.text)
        except:
            continue
    printGoodsList(infoList)
    
main()


1、首先,如果你未登入淘宝,直接使用url进入网页时,你会发现你并不能转到你想去的网站,而是进入一个登入页面。这就说明,哪怕你不是爬虫,想要在淘宝内搜索,都会被要求先登入;此时你加上了未登入时获得的cookie,加了等于没加,爬取的仍然是一个登入页面。所以,一定要先登入。
在这里插入图片描述

2、获取cookie的方法。按f12,打开开发者工具,然后在按ctrl+F,随便搜索页面上一个物品名字,比如防辐射眼镜。接着双击图上指出的位置,在header下面找到cookie的内容,对这部分按鼠标左键,copy value,然后黏贴到代码中就可以了

  • 4
    点赞
  • 1
    评论
  • 6
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值