我正在制作一个Python程序,该程序可以在eBay上抓取给定时间范围内的所有买卖,并将数据编译为电子表格。
我的程序可以从eBay抓取“销售方”,但不能从购买历史记录页面抓取。
我该如何抓取购买历史记录页面?
到目前为止,这是我的脚本:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import csv
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import *
with open('temp.csv', 'w+') as csvfile:
filewriter = csv.writer(csvfile, delimiter=',', lineterminator='\n')
filewriter.writerow(['SELLING:','','','','','','BUYING:'])
filewriter.writerow(['Totals:', '=SUM(B3:B1000)', '=SUM(C3:C1000)', '=SUM(D3:D1000)', '=SUM(E3:E1000)'])
filewriter.writerow(['Listing Title', 'Quantity Sold', 'Total Sales', 'Ebay Fee', 'Net Sales'])
csvfile.close
chromedriver = r'C:\Users\Luke\Desktop\ebaydata\chromedriver.exe'
browser = webdriver.Chrome(chromedriver)
browser.get('https://www.ebay.com/sh/prf/sales?limit=200&src=pagination')
username = browser.find_element_by_id("userid")
password = browser.find_element_by_id("pass")
signinb = browser.find_element_by_id("sgnBt")
username.send_keys("username")
password.send_keys("pa55word")
signinb.click()
try:
for i in range(0,40000,1):
if (i % 8 == 0):
value = str("lstngs-perf-w")+ str(i) + str("-w0")
valuetitle = browser.find_element_by_id(value)
if (i % 8 == 1):
value = str("lstngs-perf-w")+ str(i)
valuequantity = browser.find_element_by_id(value)
if (i % 8 == 2):
value = str("lstngs-perf-w")+ str(i)
valueprice = browser.find_element_by_id(value)
if (i % 8 == 4):
value = str("lstngs-perf-w")+ str(i)
valuefee = browser.find_element_by_id(value)
if (i % 8 == 6):
value = str("lstngs-perf-w")+ str(i)
valuenet = browser.find_element_by_id(value)
with open('temp.csv', 'a') as csvfile:
filewriter = csv.writer(csvfile, delimiter=',', lineterminator='\n')
filewriter.writerow([valuetitle.text, valuequantity.text, valueprice.text, valuefee.text, valuenet.text])
except NoSuchElementException:
pass
browser.get('https://www.ebay.com/myb/PurchaseHistory')
?