爬虫剑谱第十页(关于拼多多商品信息的爬取<修改版>)

该博客针对之前爬取拼多多商品信息的代码进行了修正,但由于限制,只能获取到首页的商品图片等信息,无法进入详情页。使用了selenium库进行爬虫操作,期待能有解决方案。
摘要由CSDN通过智能技术生成

关于此前发布了一篇关于爬取拼多多商品信息的博客:爬虫剑谱第七页(输入关键词爬取拼多多商品信息并进行保存)_独一无二的李狗蛋儿的博客-CSDN博客出现了问题,运行结束后无法返回数据,up主在这里重新进行了修正,但让然无法进入商品详情页,只能爬取首页的商品图片等信息,如果有解决方法的朋友可以私信或进行评论。

修正后代码:

需要用到selenium库

from selenium import webdriver
from lxml import etree
import time
#实例化一个浏览器对象(传入浏览器的驱动程序)
bro = webdriver.Edge(executable_path='./msedgedriver.exe')
#浏览器发起一个指定url对应请求
bro.get("https://youhui.pinduoduo.com/")
time.sleep(2)
# bro.get("https://youhui.pinduoduo.com/search/landing?catId=1")
#获取浏览器当前页面的源码数据
page_text = bro.page_source
#解析具体数据
tree= etree.HTML(page_text)
a_list = tree.xpath('//*[@id="__next"]/div/div[2]/div/div[2]/div/div[2]/a')
for a_ in a_list:
    
### 回答1: # -*- coding:utf-8 -*- import requests import json url = 'http://api.pinduoduo.com/goods/list' payload = { 'keyword': '多多商品', 'page': 1, 'page_size': 20 } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36' } res = requests.get(url, params=payload, headers=headers) data = json.loads(res.text) if data['data']: for item in data['data']: print(item['name'], item['price']) ### 回答2: 多多是一家知名的电商平台,为了爬取多多商品的信息,我们可以使用Python编写一个爬虫程序。以下是一个简单的多多爬虫代码示例: ```python import requests import json def get_goods_info(keyword): url = 'https://api.pinduoduo.com/api/search/advanced' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36' } params = { 'keyword': keyword, 'page': 1, 'size': 10 } response = requests.get(url, headers=headers, params=params) result = response.content.decode('utf-8') data = json.loads(result) goods_list = data['goods_list'] for goods in goods_list: goods_name = goods['goods_name'] sales = goods['sales'] price = goods['price'] print(f'商品名称:{goods_name}') print(f'销量:{sales}') print(f'价格:{price}\n') keyword = input('请输入要搜索的关键字:') get_goods_info(keyword) ``` 这段代码中,我们首先需要通过请求多多的API获取商品的相关信息。在代码中,我们使用了`requests`库发送GET请求,并传入请求参数`keyword`来搜索指定关键字的商品信息。我们将搜索结果以数和每显示的数量进行参数配置。 然后,我们将返回的结果进行解析。使用`json`库将返回的结果转换为Python的字典结构,方便我们获取和处理信息。 最后,遍历商品列表,获取每个商品的名称、销量和价格,并将其打印出来。 使用这段代码,我们可以根据输入的关键字获取多多商品的信息。当然,这只是一个简单的示例,实际情况可能会更加复杂,需要根据实际需求进行相应的处理和优化。 ### 回答3: 多多是国内一家知名的社交电商平台,用户通过团购买商品,价格相对较低。下面是一段简单的多多爬虫Python代码,用于爬取多多商品的信息。 ``` import requests import json def get_product_info(keyword): url = "https://api.pinduoduo.com/api/oak/product/queryByKeyword" headers = { "Referer": "https://m.pinduoduo.com/search", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" } params = { "keyword": keyword, "page": 1, "size": 10 } response = requests.get(url, headers=headers, params=params) product_data = json.loads(response.text) if "result" in product_data: for product in product_data["result"]["searchResultVOList"]: product_id = product["goodsId"] product_name = product["goodsName"] product_price = product["groupPrice"] / 100 # 商品价格除以100得到真实价格 print(f"商品ID:{product_id},商品名称:{product_name},商品价格:{product_price}元") else: print("未获取到商品信息") if __name__ == "__main__": keyword = input("请输入要搜索的商品关键字:") get_product_info(keyword) ``` 这段代码使用Python的requests库发送HTTP请求,获取商品信息。首先构建请求的URL、请求头和请求参数,然后通过requests.get方法发送GET请求,得到商品数据。接着使用json.loads方法将返回的JSON数据转换成Python对象,再从中提取出商品ID、商品名称和商品价格,并进行简单的数据处理后打印出来。 通过运行此代码,可以根据输入的关键字获取多多商品的信息。注意,这只是一个简单的示例,实际爬取商品数据时需要更多的代码来处理分、异常情况等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值