文 | 某某白米饭
来源:Python 技术「ID: pythonall」
在京东上完成订单的评价都会返还一些京豆当钱用。小编也是一个懒人,不喜欢拍照和评价任何商品,半年都没有去评价任务的商品了。一个个评价太麻烦了,就写了一个 python 脚本自动完成。
![703a073953248b5d6da8232aec53d3c8.png](https://i-blog.csdnimg.cn/blog_migrate/f0111fff4c68b1baf8cfb39d4ca6713d.png)
取 cookie
首先就是要在脚本上登录京东,这里用的是把在浏览器登录的京东账号取到 cookie 后复制到 header 上。
![72ebfbab26d54f31d1c0bb0faf8191fb.png](https://i-blog.csdnimg.cn/blog_migrate/eed5fab703e115c866d31dc22ddb6f5e.png)
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
import time
import json
headers = {
'cookie': '自己 cookie',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36',
}
获取所有评价数量
在京东的评价页面一共有 4 种评价,待评价订单、待晒单待、追评和服务评价,每个评价后面会跟上数字,表示还有多少个评价没写。
![6e110a1ae763b4a2c71d5fbeb926ef9e.png](https://i-blog.csdnimg.cn/blog_migrate/60e7d0d6bfd4bfdaf9263d6874b3aba0.png)
使用 BeautifulSoup 抓取这些内容用于判断是否有需要填写的评价。最终把抓取的数据放到字典中。后面用这个数字做分页基础。
def all_appraisal():
appraisal = {}
url = "https://club.jd.com/myJdcomments/myJdcomment.action?sort=0"
req = requests.get(url, headers=headers)
soup = BeautifulSoup(req.text, "html.parser")
url = soup.find('ul', class_='tab-trigger');
for li in url.find_all('li'):
contents = li.a.text
b = li.b
if b != None:
appraisal[contents] = b.text
return appraisal
示例结果:</