一、需求分析

本项目的需求是实现输入淘宝卖家的旺旺号,获取该卖家在淘宝平台上的信用分。为了实现这个需求,我们需要进行以下几个步骤:

1. 使用Selenium模拟登陆淘宝网站。

2. 通过输入卖家旺旺号并点击查询按钮,等待几秒后获取查询结果。

3. 从查询结果中提取卖家的信用分。

二、思路

由于我们无法直接模拟登录淘宝网站,因此需要寻找其他途径来获取卖家的信用分。经过调研,我们发现了一个名为“淘一兔”的网站,可以通过输入卖家旺旺号获取到相同的信用分。因此,我们可以利用Selenium和BeautifulSoup这两个工具来完成这个任务。

三、实现源代码(抓取不能太快,否则抓不到)

```python

import time

from selenium import webdriver

from bs4 import BeautifulSoup

def get_taobao_credit_score(旺旺号):

driver = webdriver.Chrome()

driver.get("http://www.taoyizhu.com/")

# 输入旺旺号

driver.find_element_by_id("search").send_keys(旺旺号)

driver.find_element_by_id("search").submit()

# 等待查询结果出现

time.sleep(5)

# 获取查询结果页面源代码

html = driver.page_source

# 使用BeautifulSoup解析HTML

soup = BeautifulSoup(html, "html.parser")

# 从解析后的HTML中提取信用分

credit_score = soup.find("div", class_="credit-score").text

driver.quit()

return credit_score

# 测试

旺旺号 = "1234567890"

信用分 = get_taobao_credit_score(旺旺号)

print(f"{旺旺号}的信用分为:{信用分}")

```

注意:为了避免被封IP,请在执行此代码时适当增加延时。

```python# encoding: utf-8

from selenium import webdriver

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

import pandas as pd

import time

import re

time1 = time.time()

driver = webdriver.PhantomJS(executable_path=r'D:\Program Files\Python27\Scripts\phantomjs.exe')

driver.set_window_size(800, 600)

########################读取数据############################

data1 = pd.read_excel(r'C:/taobao/taobao1.xlsx')

print(data1)

#######################查询店铺信誉分#############################

seller_credit = []

for i in range(0, len(data1)):

key = str(data1.iloc[i, 0])

key1 = key.decode('utf-8')

driver.get('http://www.taoyizhu.com/')

time.sleep(5)

driver.find_element_by_id('txt_name').clear()

driver.find_element_by_id('txt_name').send_keys(key1)

driver.find_element_by_id('search_btn').click()

time.sleep(3)

html2 = driver.page_source

seller_credit1 = re.findall('(.*?)', html2, re.S)

for each in seller_credit1:

print(key, each)

seller_credit.append(each)

# #######################################增加店铺信誉分这一列#############################

data1['店铺信誉分'] = seller_credit

print(data1)

# 写出excel

writer = pd.ExcelWriter(r'C:\\taobao\\taobao1_all.xlsx', engine='xlsxwriter', options={'strings_to_urls': False})

data1.to_excel(writer, index=False)

writer.close()

time2 = time.time()

print('ok,爬虫结束!')

print('总共耗时:' + str(time2 - time1) + 's')

```