Python爬取淘宝图片

本文介绍如何使用Python爬取淘宝淘女郎模特的图片和相关信息,包括姓名、城市、身高、体重和被赞次数。通过分析网页源码和数据包,找到了动态加载的XHR请求,提取关键URL,利用正则表达式提取信息。同时,讨论了如何通过表单提交实现翻页,并给出了部分代码示例,但未涉及多线程优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

爬取淘女郎模特图片与相关信息

(一) 解析淘女郎首页网站地址
打开淘女郎首页界面 https://www.taobao.com/markets/mm/mm2017,点击 查看更多,然后 F12 进入网页抓包工具,按 F5观察数据加载变化。审查元素发现,我们想找的图片的链接在网页的源代码里更本找不到,所以这个网页应该不是简单的静态网页。不然那那些妹子图不给我们轻易就得到了。。哈哈。不过不怕。我们进入 NETwork 里面看有没有动态加载的文件是我们想要的。

这里写图片描述

果然,仔细观察发现,里面加载的内容跟当前页面的人名及其他信息完全吻合。便可以肯定这就是我们要的数据。所以,查看request url获取相关url。https://mm.taobao.com/alive/list.do?scene=all&page=1
而后面的page=1 则就表示,第一页。只要我们把数值改变便可以加载到对应的页码。

个人觉得这个还算简单。所以直接上代码了:

import urllib.request
import re
from user_agent.base import generate_user_agent


class Spider:
    # 定义需要爬取的页数
    def __init__(self, page):
        self.page = int(page)

     # 获取要爬取的图片的页数
    def get_pags(self, page):
        for i in range(1, page+1):
            url = "https://mm.taobao.com/alive/list.do?scene=all&page=%d"%i
            yield url

    # 定义常用的 URL 打开函数
    def open_url(self, url):
        user_agent = generate_user_agent()
        header = {
  "User-Agent":user_agent}
        req = urllib.request.Request(url, headers=header)
        response = urllib.request.urlopen(req).read() # 文件未进行decode解码,此时为response二进制文件
        return response

    # 定义获取图片名称的函数
    def get_name(self, url):
        response = self.open_url(url).decode('gbk').encode('utf-8').decode('utf-8')
        name_list = re.compile('darenNick":"(.*?)"').findall(response)
        return name_list

    # 定义获取图片链接地址并返回图片内容
    def get_picture(self, url):
        response = self.open_url(url).decode('gbk').encode('utf-8').decode('utf-8')
        link_list = re.compile('avatarUrl":"(.*?)"').findall(response)
        for link in link_list:
            if re.com
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值