首页 > 解决方案 > Python从数组/文件发布到URL

问题描述

从事一个项目,我可以将 alfa-numeric=capital 值直接输入到 url,例如“DDAT705”

https:xxxxxxxxxx/customers/ajax?salesno=DDAT705&key=1A2B3C4D&endpoint=taxonomy

这将返回我的信息,如果 alfa-numeric 值在数据库中,它将返回我的信息,如果不是,它将返回我一个在页面上显示“False”的字符串。

我对完全自动化整个序列很感兴趣,从阅读大量的阿尔法数字组合列表,例如“DDAT001”“DDAT002”“DDAT003”等等,每个组合最多999,然后到下一批“DDAU701”和依此类推,从 35,000 多个组合的列表中最多可有 999 个等,一次将它们插入 URL 中间,然后将“body”标签中的结果保存到文本或 .CSV 文件中。

标签: python

解决方案


这里有几个例子说明你如何完成第一个位。第一个动态生成新salesno的。第二个生成一个包含所有可能的文件salesno,以及使用该文件的示例。第二个示例说明了使用该requests模块构建您的 url 并使用它们的可能方法:

import requests
from string import ascii_uppercase

salesno_prefix = 'DD'
letters = ascii_uppercase
base_url = 'https://xxxxxxxxxx/customers/ajax'

# Generate them on the fly.
for letter in ascii_uppercase:
    for letter2 in ascii_uppercase:
        for number in range(1000):
            salesnumber = 'DD{}{}{:03d}'.format(letter, letter2, number)
            # Your code using the salesnumber.

# Create Permanent list.
salesnumbers = (['DD{}{}{:03d}\n'.format(letter, letter2, number) for number in range(1000) for letter2 in ascii_uppercase for letter in ascii_uppercase])

with open('sales_numbers.txt', 'w') as sales_file_out:
    for item in salesnumbers:
        sales_file_out.write(item)


# Use permanent list, for example. 
with open('sales_numbers.txt', 'r') as sales_in_file:
    salesnumbers = sales_in_file.readlines()
    for salesnumber in salesnumbers:
        print(salesnumber.strip())

        payload = {'salesno':salesnumber.strip(),'key':'1A2B3C4D', 'endpoint': 'taxonomy'}
        r = requests.get(base_url, params=payload)
        print(r.url)
        print(r.text)

推荐阅读