python爬虫来抓取闲鱼二手机信息,小赚一笔

本文介绍了一位技术爱好者如何使用Python编写爬虫代码,针对海鲜市场衰落的情况,作者利用爬虫在电子产品市场筛选特定需求,如iPhone型号、价格区间、高回复率和信用评级,以帮助自己在换机时节省时间和选择困难。

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

虽然海鲜市场现在已经不如以前了,但是还是可以捡漏的,省钱也是赚钱,最近正好有换机的准备,每天刷来刷去的浪费了好多时间,也会进入选择困难症。

参考了一些大神的思路写法,写了个简单抓取指定需求的爬虫代码,把自己想要的信息全部列出来。

主要列出了以下需求:机型,价格区间,回复率,信用高,个人玩家,一个简单的思路就可以出来

import requests
from bs4 import BeautifulSoup

# 使用代理
#免费领取爬虫ip:	http://www.jshk.com.cn/mb/reg.asp?kefu=xjy&csdn
proxies = {
  'http': 'http://10.10.1.10:3128',
  'https': 'http://10.10.1.10:1080',
}

# 发送请求
url = 'https://www.xianyu.com'  # 请替换为你要爬取的网页地址
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers, proxies=proxies)

# 解析网页
soup = BeautifulSoup(response.text, 'html.parser')

# 提取信息
items = soup.find_all('div', class_='item-info')  # 请根据实际的HTML结构进行修改
for item in items:
    title = item.find('h2').text
    price = float(item.find('span', class_='price').text)  # 假设价格是一个浮点数
    reply_rate = float(item.find('span', class_='reply-rate').text)  # 假设回复率是一个浮点数
    credit = item.find('span', class_='credit').text  # 假设信用是一个字符串

    # 检查机型
    if 'iphone13' not in title.lower() and 'iphone14' not in title.lower() and 'iphone15' not in title.lower():
        continue

    # 检查价格
    if price < 3000 or price > 5000:
        continue

    # 检查回复率
    if reply_rate < 0.8:  # 假设你希望回复率至少为80%
        continue

    # 检查信用
    if credit != '优秀':
        continue

    print(f'{title}: {price}')

在你的代码中,你需要在提取信息部分添加筛选条件,以满足你的特定需求。这需要你对HTML结构有深入的了解,以便找到正确的标签和类。

要强调的是,网络爬虫可能会对网站服务器造成压力,过度使用可能会导致你的IP被封。请尽量减少请求频率,并尊重网站的robots.txt文件。

这些都只是简单的思路,重要的是灵活应用,淘机是不是也很简单,总要给生活多点小插曲,不然生活太单调了,程序员的日子就得多字多样,不然写代码干嘛。

欢迎交流,欢迎私信或平台,广交天下好友,少来抬杠。

### 爬虫开发指南及Python示例 #### 项目结构概述 开源项目 `idlefish_xianyu_spider-crawler-sender` 提供了一个完整的数据爬取解决方案。其目录结构清晰,便于开发者快速上手[^1]。以下是主要文件的功能说明: - **requirements.txt**:列出项目运行所需的Python库版本。 - **spiders/**:存放所有爬虫相关的代码,其中 `xianyu.py` 是实现数据爬取的核心脚本。 - **config.py**:包含应用程序的配置设置,如API密钥、数据库连接等。 - **sender.py**:负责处理从爬虫获取的数据,可能包括清洗、分析乃至发送到特定目的地(例如服务器或数据库)的逻辑。 - **main.py**:程序的主入口,调用爬虫和数据发送等功能。 - **README.md**:项目的基本介绍和快速入门指导。 #### Python 示例代码 以下是一个基于 `uiautomator2` 的爬虫示例代码,用于抓取商品信息[^2]。该代码片段展示了如何初始化设备并模拟用户操作以获取数据。 ```python import uiautomator2 as u2 import time # 初始化设备 device = u2.connect() # 默认连接本地设备 # 打开应用 def open_xianyu(): device.app_start("com.taobao.idlefish") # 启动应用 time.sleep(5) # 等待应用加载完成 # 搜索商品 def search_item(keyword): device(resourceId="com.taobao.idlefish:id/search_box").click() time.sleep(2) device.send_keys(keyword) # 输入搜索关键词 device.press("search") # 触发搜索 time.sleep(5) # 获取商品列表 def get_items(): items = [] elements = device(resourceId="com.taobao.idlefish:id/item_name") for element in elements: items.append(element.get_text()) return items if __name__ == "__main__": open_xianyu() search_item("二手手机") items = get_items() print(items) ``` #### 数据接口使用 如果需要通过接口获取咸鱼店铺的商品信息,可以参考以下示例代码[^3]。此代码利用 `goodfish.item_search_shop` 接口高效获取店铺内的商品数据。 ```python import requests def fetch_goods_from_shop(shop_id, page=1): url = "https://api.goodfish.com/item_search_shop" params = { "shop_id": shop_id, "page": page, "per_page": 50 } headers = { "Authorization": "Bearer YOUR_ACCESS_TOKEN" # 替换为实际的访问令牌 } response = requests.get(url, params=params, headers=headers) if response.status_code == 200: return response.json().get("data", []) else: return [] if __name__ == "__main__": shop_id = "123456789" # 替换为目标店铺ID goods = fetch_goods_from_shop(shop_id) for item in goods: print(item["title"], item["price"]) ``` #### 注意事项 在开发爬虫时,请注意遵守平台的服务条款和相关法律法规。此外,确保安装所有依赖库并正确配置环境变量[^4]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

super_ip_

你的打赏将是我的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值