python爬虫——淘宝书包

python爬虫——淘宝书包importreimportrequestsdefgetHTMLText(url):try:headers={‘user-agent’:’Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/76.0.3809….

大家好,又见面了,我是你们的朋友全栈君。

import re
import requests
def getHTMLText(url):
    try:
        headers={ 
   
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36',
              'cookie': 'cna=NQPPFYICwyoCAW8OdtofQqLm; tracknick=tb31551803; tg=0; enc=rmQMsTLREKmqi0wCPiaesTYWq1FQEkZvJR9RxYQe31E%2B8H%2Bgsg29O3QjlWBYNsk5B4hWdVnoyl9FmqezxIlA0A%3D%3D; thw=cn; hng=CN%7Czh-CN%7CCNY%7C156; x=e%3D1%26p%3D*%26s%3D0%26c%3D0%26f%3D0%26g%3D0%26t%3D0; t=8b87e0b54eedb63ec79bf6e58120539b; uc3=lg2=V32FPkk%2Fw0dUvg%3D%3D&nk2=F5RGNw0oDsOWmg%3D%3D&vt3=F8dBxdsbDKQbUlBPQ8E%3D&id2=Vy0Qmj0GGZVBZA%3D%3D; lgc=tb31551803; uc4=id4=0%40VXqe5nOGv2p3QUXK2yfB2w2AQ2Rw&nk4=0%40FY4NAqkeavMG4lO%2Fk5N%2Fb5R2Zw6o; _cc_=URm48syIZQ%3D%3D; mt=ci=118_1; JSESSIONID=790849CCFE2C514ABA531615EB3CA8E8; l=cBOcsO94QbHsxX8kBOCNquI8LPbOSIRAkuPRwCcXi_5dc6L_6w_OoSyK1Fp62jWdtfTB4JuaUM29-etkiKy06Pt-g3fP.; isg=BJ2dqUHwn35VGntR9LG1laqSrHmXutEM-IpwbF9i2fQjFr1IJwrh3GuEQQoQmOnE',
}
        r=requests.get(url,timeout=30,headers=headers)
        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+\.\d*\"',html)
        tlt=re.findall(r'\"raw_title\":\".*?\"',html)
        for i in range(len(plt)):
            price=eval(plt[i].split('\"')[3])
            title=tlt[i].split('\"')[3]
            ilt.append([title,price])
    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]))
if __name__ == '__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)
            html=getHTMLText(url)
            parsePage(infoList,html)
        except:
            continue
    printGoodsList(infoList)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150125.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 已知等边三角形两点坐标,计算第三点坐标

    已知等边三角形两点坐标,计算第三点坐标

    2022年2月7日
    140
  • 单片机结构_单片机原理读书笔记

    单片机结构_单片机原理读书笔记文章目录Chapter1:51单片机结构1.1MCS-51单片机内部结构1.1.151单片机内部结构1.1.2核心部件CPU1.2存储器1.2.1ROM和RAM1.2.2普林斯顿结构、哈佛结构1.2.3片内存储器、片外存储器1.2.4程序存储器、外部数据、内部数据存储器1.3特殊功能寄存器1.4时钟电路和复位电路1.4.1时钟电路1.4.2基本时序单位1.4.3复位…

    2022年10月4日
    0
  • Qt多线程通信

    Qt多线程通信简述:1>Qt线程间共享数据主要有两种方式:1)使用共享内存。即使用一个两个线程都能够共享的变量(如全局变量),这样两个线程都能够访问和修改该变量,从而达到共享数据的目的。2)使用singal/slot机制,把数据从一个线程传递到另外一个线程。第一种方法在各个编程语言都普遍使用,而第二种方法是QT的特有的,本文主要介绍第二种。2>

    2022年6月19日
    207
  • Qt中的QFile读写文件操作「建议收藏」

    Qt中的QFile读写文件操作「建议收藏」1.首先记录一下QString,QByteArray,char*之间的转换(1)QString->QByteArrayQStringbuf="123";QByteArraya=buf.toUtf8();//中文a=buf.toLocal8Bit();//本地编码(2)QByteArray->char*char*b=a.data…

    2022年6月13日
    153
  • C语言输出的字体和背景颜色你会设置吗!

    C语言输出的字体和背景颜色你会设置吗!学了那么久C语言,难免会所写对程序输出内容颜色感到单调,总想整点酷的东西………

    2022年6月20日
    24
  • 2020//7/6学习记录

    2020//7/6学习记录1.微信小程序圆角样式border-radius:20rpx;2.微信小程序横向布局display: flex;/*row 横向 column 列表 */flex-direction: row;/* 左右居中 */justify-content: center;/* 上下居中 */align-items: center;3.文字左右布局父元素用到:justify-content:space-between;子元素:<viewstyle…

    2022年8月18日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号