python网络爬虫之淘宝订单提取

import asyncio
import pyppeteer as pyp
import time
async def antiAntiCrawler(page):   #为page添加反反爬虫手段
    await page.setUserAgent('Mozilla/5.0 (Windows NT 6.1; \Win64; x64)')
    await page.evaluateOnNewDocument('()=>{Object.defineProperties(navigator,\{webdriver:{get:()=>false}})}')
async def getOjSourceCode(loginUrl):
    width,heigth=1400,800  #网页宽高
    broswer=await pyp.launch(headless=False, executablePath='D:\chromium\chrome-win\chrome.exe',args=[f'--window-size={width},{heigth}'])
    page=await broswer.newPage()
    await antiAntiCrawler(page)    #添加反反爬虫手段
    await page.setViewport({'width':width,'height':heigth})
    await page.goto(loginUrl)
    element = await page.querySelector('#fm-login-id')  #找到手机号输入框
    await element.type('139****')  #输入手机号
    time.sleep(2)  #停顿两秒
    element = await page.querySelector('#fm-login-password')  #找到密码输入框
    await element.type('******')  #输入密码
    time.sleep(2)
    element = await page.querySelector('.fm-button')  #找到登录按钮
    await element.click()  #点击登录
    await page.waitForSelector('#mx_5 > div.pc-search-filter.J_pc-search-filter > div.bar-group.clearfix.order-bar.clearfix')  #等待标志出现
    element = await page.querySelector('#J_SiteNavBdR > li.J_Menu.menu.my-taobao > div.menu-hd.J_MenuMyTaobao > a')  #找到我的淘宝
    await element.click()   
    await page.waitForNavigation()  #等待页面出现
    element = await page.querySelector('#bought')  #找到我买过的宝贝
    await element.click()
    await page.waitForNavigation()
    elements = await page.querySelectorAll(".production-mod__pic___G8alD")  #找到所有订单信息
    page2 = await broswer.newPage()  #新建标签页
    await antiAntiCrawler(page2)
    for element in elements[:5]:
        obj = await element.getProperty("href")  #获取订单网址
        url = await obj.jsonValue()
        await page2.goto(url)
        element = await page2.querySelector("title") 
        obj = await element.getProperty("innerText")
        text = await obj.jsonValue()
        print(text)
        print("----------------------")
    await broswer.close()
loginUrl = "https://login.taobao.com/member/login.jhtml?spm=a2e0b.20350158.1997563269.1.a286468apMhevj&f=top&redirectURL=https%3A%2F%2Fuland.taobao.com%2Fsem%2Ftbsearch%3Frefpid%3Dmm_26632258_3504122_32538762%26keyword%3Dtaobao%26clk1%3Ddf42becb4b819028a92dd40818abb781%26upsId%3Ddf42becb4b819028a92dd40818abb781&pid=mm_26632258_3504122_32538762&union_lens=recoveryid%3A201_11.87.177.220_6958939_1626761965232%3Bprepvid%3A201_11.87.177.220_6958939_1626761965232&clk1=df42becb4b819028a92dd40818abb781"
loop = asyncio.get_event_loop()
loop.run_until_complete(getOjSourceCode(loginUrl))

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lin_Zhenyu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值