[英]I have to open multiple sites one by one in python
我正在尝试为多个页面为亚马逊构建一个刮刀。 我已经创建了这个代码。 我也附上了输出。 我必须遍历所有这些,但是当我尝试打开链接时,它只会打开最后一个。
import pandas as pd
import ssl
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
extracted_data = []
#read the excel file
df = pd.read_excel(r'C:\Users\adelinpa\Desktop\Adelina_2\apluscontent_yes_no.xlsx')
print(df)
#convert asin column to a list
asin = df['asin'].tolist()
print(asin)
#take user input to establish MP:
marketplace = str(input('Insert MP :'))
link = []
if marketplace == "IT":
for i in asin:
length = len(asin)
i = 0
while i < length:
link = "www.amazon.it/dp/" +asin[i] + '/'
i+=1
print(link)
elif marketplace == "ES":
for i in asin:
length = len(asin)
i = 0
while i < length:
link = "www.amazon.es/dp/" + asin[i] + '/'
i+=1
print(link)
elif marketplace == "MX":
for i in asin:
length = len(asin)
i = 0
while i < length:
link = "www.amazon.com.mx/" + asin[i] + '/'
i += 1
print(link)
elif marketplace =="BR":
for i in asin:
length = len(asin)
i = 0
while i < length:
link = "www.amazon.com.br/dp/" + asin[i] + '/'
i += 1
print(link)
输出:
www.amazon.es/dp/B07N1JPGPD/
www.amazon.es/dp/B0758LBVDC/
www.amazon.es/dp/B07MJ7GCKJ/
www.amazon.es/dp/B07N1JX25F/
www.amazon.es/dp/B07B91VB7B/
www.amazon.es/dp/B07MSKJ35L/
www.amazon.es/dp/B07M798C5Z/
www.amazon.es/dp/B07N1J7TVC/
www.amazon.es/dp/B07FR1CSWR/
www.amazon.es/dp/B07MC132XS/
www.amazon.es/dp/B07FSHLZ9H/
www.amazon.es/dp/B07M7985YJ/
www.amazon.es/dp/B07NLVRH41/
www.amazon.es/dp/B07MSKL5G5/
www.amazon.es/dp/B07B94NH1S/
如果我理解正确,列表link
应该包含所有链接吗?
到目前为止,您没有将链接添加到列表中,而是在每次迭代中用字符串值覆盖您的列表变量。 您需要使用append
而不是覆盖您的变量。
您还通过在彼此内部有两个循环来多次迭代asin
(第二个循环与第一个循环相同,但对每个项目再次执行一次)。 如果使用如下所示的 for 循环,则可以减少它。
import pandas as pd
import ssl
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
extracted_data = []
#read the excel file
df = pd.read_excel(r'C:\Users\adelinpa\Desktop\Adelina_2\apluscontent_yes_no.xlsx')
print(df)
#convert asin column to a list
asin = df['asin'].tolist()
print(asin)
#take user input to establish MP:
marketplace = str(input('Insert MP :'))
link = []
if marketplace == "IT":
for element in asin:
link.append("www.amazon.it/dp/" + element + '/')
elif marketplace == "ES":
for element in asin:
link.append("www.amazon.es/dp/" + element + '/')
elif marketplace == "MX":
for element in asin:
link.append("www.amazon.com.mx/dp/" + element + '/')
elif marketplace =="BR":
for element in asin:
link.append("www.amazon.com.br/dp/" + element + '/')
一个更干净(而且更短)的版本可能是:
...
#take user input to establish MP:
marketplace = str(input('Insert MP :')).lower()
# extend marketplace adress if necessary
if marketplace in ['mx', 'br']:
marketplace = 'com.' + marketplace
links = []
for element in asin:
links.append("www.amazon." + marketplace + "/dp/" + element + '/')
谢谢大家回答我的问题! 在亚马逊网站和 asin 之间进行这种连接之后,我在打开我刚刚创建的链接时得到了 stucl。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.