在这里一些专家的帮助下,我能够制造出一个工作良好的刮板
基本代码行实际上是:
data = {"partOptionFilter": {"PartNumber": PN.iloc[i, 0], "AlternativeOemId": "17155"}}
r = requests.post('https://www.partssource.com/catalog/Service', json=data).json()"
然而,该网站最近将其链接从partsfinder.com更改为partssource.com,代码似乎不再有效
只是想知道是否有一个技巧,我可以使用我的原始代码,让它再次工作
任何想法都很感激,谢谢
import requests
import pandas as pd
df = pd.read_excel(r'C:\Users\212677036\Documents\Part Number Input.xlsx')
PN = pd.DataFrame(df, columns=['Product code'])
9
i = 0
Total_rows = PN.shape[0]
partnumlist = []
partnumlist1 = []
partnumlist2 = []
partnumlist3 = []
partnumlist4 = []
partnumlist5 = []
while i < Total_rows:
data = {"partOptionFilter": {"PartNumber": PN.iloc[i, 0], "AlternativeOemId": "17155"}}
r = requests.post('https://www.partssource.com/catalog/Service', json=data).json()
partnumlist.append(r['Data']['PartOptions'][0]['YourPrice'])
data1 = {"partOptionFilter": {"PartNumber": PN.iloc[i, 0], "AlternativeOemId": "17475"}}
r1 = requests.post('https://www.partssource.com/catalog/Service', json=data1).json()
partnumlist1.append(r1['Data']['PartOptions'][0]['YourPrice'])
data2 = {"partOptionFilter": {"PartNumber": PN.iloc[i, 0], "AlternativeOemId": "16880"}}
r2 = requests.post('https://www.partssource.com/catalog/Service', json=data2).json()
partnumlist2.append(r2['Data']['PartOptions'][0]['YourPrice'])
data3 = {"partOptionFilter": {"PartNumber": PN.iloc[i, 0], "AlternativeOemId": "47221"}}
r3 = requests.post('https://www.partssource.com/catalog/Service', json=data3).json()
partnumlist3.append(r3['Data']['PartOptions'][0]['YourPrice'])
data4 = {"partOptionFilter": {"PartNumber": PN.iloc[i, 0], "AlternativeOemId": "17045"}}
r4 = requests.post('https://www.partssource.com/catalog/Service', json=data4).json()
partnumlist4.append(r4['Data']['PartOptions'][0]['YourPrice'])
data5 = {"partOptionFilter": {"PartNumber": PN.iloc[i, 0], "AlternativeOemId": "17055"}}
r5 = requests.post('https://www.partssource.com/catalog/Service', json=data5).json()
partnumlist5.append(r5['Data']['PartOptions'][0]['YourPrice'])
i=i+1
list_of_dataframes = [pd.DataFrame(partnumlist),pd.DataFrame(partnumlist1),
pd.DataFrame(partnumlist2), pd.DataFrame(partnumlist3),
pd.DataFrame(partnumlist4), pd.DataFrame(partnumlist5)]
pd.concat(list_of_dataframes).to_csv(r'C:\Users\212677036\Documents\output25.csv')
在
Firefox
/Chrome
中使用DevTools
后,我创建了此代码页面使用不同的url,发送不同的数据,使用不同的键获得结果
您必须使用
DevTools
来观察从浏览器到服务器的更多请求,以识别如何在data
中使用更多参数编辑(2020.09.01)
如果您有manu查询,那么使用
for
-loop多次运行相同的代码,但使用不同的查询。当您获得一个查询的数据时,使用for
-loop从data['products']
获取所有价格编辑(2020.09.06)
我在
get_data()
中添加了变量start
和limit
,然后在循环for start in range(0, limit*10, limit)
中运行它以获得10个页面(每个页面包含100个元素)相关问题 更多 >
编程相关推荐