爬取淘宝商品信息

1.目标站点分析:
爬取网页一般优先选择手机版,通过在google浏览器启动快捷方式后面添加 –user-agent=’Android’ 即可模拟手机.
搜索关键字 python 即可看到python相关,通过network查看加载过程.请求的URI的一个网页含有很少信息,我们有理由相信网页是通过ajax加载商品信息,
点击xhr选项即可查看所有ajax ,通过response标签即可看到每个ajax携带的内容,向下滚动网页,加载更多的ajax便于观察,查看可发现ajax携带的json字符串含有所有商品信息,keyword=python ,即为搜索关键词 并且通过改变offset参数既可以获得下一页的信息,至此加载商品列表url参数和信息获取分析完毕。
点击商品查看商品详细信息,直接先看看ajax,幸好,商品信息也是通过ajax加载 ,返回了包含商品的详细信息的json字符串,对比商品列表里的商品信息 ,和其他商品详细信息的ajax url参数 url中变量为 tag t t为时间 tag为加密生产 到数几位变化即为商品列表中RESOURCEID的值,至此,商品详细信息ajax的url和内容分析完毕 最后保存到mongodb

  1. 数据获取
import requests
import json
import pymongo
from bs4 import BeautifulSoup
import time
from retrying import retry
from numpy import random

MONGON_URL = 'localhost'
MONGO_DB = 'taobao'
MONGO_TABLE = 'more1'
client = pymongo.MongoClient(MONGON_URL, connect=False)
db = client[MONGO_DB]

# t 是变化
# sign 加密
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
商品信息一般分为以下步骤: 1. 打开搜索页面,输入关键词,获搜索结果页面源代码。 2. 解析搜索结果页面,获每个商品的链接地址。 3. 访问每个商品链接地址,获商品详情页面源代码。 4. 解析商品详情页面,获商品的基本信息和价格信息等。 5. 保存商品信息至本地文件或数据库。 下面是一个基于Python的商品信息的代码示例: ```python import requests from bs4 import BeautifulSoup keyword = '手机' # 搜索关键词 url = f'https://s.taobao.com/search?q={keyword}' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 发送请求 response = requests.get(url, headers=headers) # 解析搜索结果页面 soup = BeautifulSoup(response.text, 'html.parser') items = soup.find_all('div', class_='item J_MouserOnverReq ') for item in items: # 获每个商品的链接地址 link = 'https:' + item.find('a', class_='J_ClickStat')['href'] # 访问商品链接地址 details_response = requests.get(link, headers=headers) # 解析商品详情页面 details_soup = BeautifulSoup(details_response.text, 'html.parser') # 获商品的基本信息和价格信息等 title = details_soup.find('h3', class_='tb-main-title').text.strip() price = details_soup.find('span', class_='tb-rmb-num').text print(title, price) ``` 需要注意的是,虫有一定的反虫机制,为了避免被封IP,可以在发送请求时添加一些随机的等待时间,或者使用代理IP。另外,商品信息也需要遵守相关法律法规,不得侵犯商家和消费者的权益。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值