闲鱼是一款非常流行的二手交易app,拥有大量的活跃用户。不少卖家在上面发布商品时,都会设置自动回复,并在回复中加入自己的店铺链接或其他相关信息。这样可以提高买家主动联系的概率,为卖家带来更多的流量和销售机会。但是,手动设置闲鱼自动回复的步骤相对繁琐,本文将介绍如何通过编写Python脚本来实现闲鱼自动留言的功能。
实现闲鱼自动留言功能的思路如下:
1. 模拟登录:首先需要模拟登录闲鱼app,获取登录后的cookie信息,以便后续请求可以获取登录状态。
2. 获取对话列表:通过登录状态,可以获取到用户的对话列表,即私聊记录。在对话列表中查找需要留言的用户,并获取其对话id,以便后续向其发送留言信息。
3. 发送消息:将需要发送的消息(可以是文本、图片、表情等)进行编码,并将其放入post请求体中进行发送。发送消息时需要提供对话的id。
4. 循环发送:将以上步骤进行循环,即可实现批量留言功能。
接下来详细介绍一下每个步骤的实现方法。
1. 模拟登录
通过Python的requests库,我们可以模拟用户的登录行为,即通过构造请求头和请求参数提交post请求。首先需要找到闲鱼登录页面的url,并使用开发者工具查看登录时需要提交的参数(如账号、密码、登录设备、回调url等)。将这些参数以字典的形式组合起来,然后构造一个headers参数模拟浏览器头信息,以突破闲鱼的反爬虫机制。
代码实现:
```
import requests
url = 'https://login.m.taobao.com/login.htm'
params = {
'loginVia': 'password',
'username': 'your_username',
'password2': 'your_password',
'ua': 'your_useragent',
'tpl': 'your_tpl',
'appKey': 'your_appkey',
}
headers = {
'User-Agent': 'your_useragent',
}
res = requests.post(url, params=params, headers=headers)
```
2. 获取对话列表
登录成功后,我们需要获取用户的对话列表。在请求私信页面时需要提供用户的cookie信息,否则会被系统自动重定向至登录页面。
代码实现:
```
import requests
url = 'https://msg.taobao.com/msg/msg.htm'
headers = {
'User-Agent': 'your_useragent',
'Cookie': 'your_cookie',
}
res = requests.get(url, headers=headers)
```
通过解析返回的html,可以找到所有用户的私信记录,包括每条私信的id。将需要留言的用户的私信id保存下来,以便后续发送消息时使用。
代码实现:
```
from bs4 import BeautifulSoup
soup = BeautifulSoup(res.text, 'html.parser')
dialogs = soup.find_all('li', class_='last-msg-item')
dialog_ids = []
for dialog in dialogs:
dialog_id = dialog['data-dialogid']
dialog_ids.append(dialog_id)
```
3. 发送消息
发送消息时的请求链接为https://msg.taobao.com/msg/send.htm,需要携带发送的消息内容、会话id等参数。消息内容可以自定义,可以是一段文本、一个图片或者一个表情等。由于消息内容可能包含中文等非ASCII字符,为了避免编码问题,建议将消息内容进行urlencode编码。
代码实现:
```
import urllib.parse
url = 'https://msg.taobao.com/msg/send.htm'
params = {
'content': urllib.parse.quote(your_message),
'dialogId': your_dialogid,
't': int(time.time()*1000),
}
headers = {
'User-Agent': 'your_useragent',
'Cookie': 'your_cookie',
}
res = requests.post(url, params=params, headers=headers)
```
4. 循环发送
将上述步骤结合,即可实现通过Python编写脚本来批量左留言的功能,非常便捷。如有需要,还可以加入一些其他的辅助操作,比如自动获取cookie、自动识别需要留言的用户等等,可提高留言效率。同时也需要注意不要进行频繁留言,以免引起对方反感或被系统限制。