如何指示 python 获取不同文件中的字符串
how to direct python to fetch string in a different file
如何更改参数 ('pegasus') 中的“关键字”以重定向到单独的 txt 文件。
所以后来我只是在文件 txt 中写下我想抓取的任何项目。 Pegasus、Phoenix、Lucid 的示例
然后关键字参数被定向到不同的 txt,在 txt 中它包含这些对象的列表
一旦它完成了 pegasus 的抓取,它将抓取下一个项目 Phoenix,依此类推
import requests
import csv
key = input('enter name file u want :')
write = csv.writer(open('output/{}.csv'.format(key), 'w', newline=''))
header = ['Name', 'Price', 'Seller', 'Order']
write.writerow(header)
url = 'https://api-gateway.itemku.com/v1/product'
count = 0
for page in range(1, 2):
parameter = {
'is_include_game': 1,
'is_include_item_type': 1,
'is_include_item_info_group': 0,
'is_include_order_record': 1,
'is_from_web': 1,
'is_include_upselling_product': 1,
'game_id': 29,
'per_page': 18,
'page': page,
'sort': 'cheap',
'is_auto_delivery_first': 1,
'is_with_promotion': 1,
'keyword': 'pegasus'
}
r = requests.get(url, params=parameter).json()
products = r['data']['data']
for p in products:
name = p['name']
price = p['price']
seller = p['seller']
order = p['order_record']
count += 1
print('No :', count, 'name:', name, 'price:',
price, 'seller:', seller, 'order:', order)
write = csv.writer(
open('output/{}.csv'.format(key), 'a', newline=''))
data = [name, price, seller, order]
write.writerow(data)
how do i change the "keyword" in parameter ('pegasus')
如果您的意思是更改参数内键“关键字”的“值”,则只需替换值:
parameter['keyword'] = "Pheonix"
要从 .txt 文件读取数据并循环遍历它,只需读取文件并将值添加到列表,然后循环遍历它
key = [line.strip() for line in open('../relative/path','r')
....
for keyword in key:
....
parameter = {
'is_include_game': 1,
'is_include_item_type': 1,
'is_include_item_info_group': 0,
'is_include_order_record': 1,
'is_from_web': 1,
'is_include_upselling_product': 1,
'game_id': 29,
'per_page': 18,
'page': page,
'sort': 'cheap',
'is_auto_delivery_first': 1,
'is_with_promotion': 1,
'keyword': keyword
}
# or you could set the value after creating parameter dictionary
# parameter['key'] = keyword
用这种方式读取文件不会在读取完成后关闭文件,但除非你用这种方法打开很多文件,否则应该不会有问题。垃圾收集器应该为我们完成关闭文件的工作。
如何更改参数 ('pegasus') 中的“关键字”以重定向到单独的 txt 文件。 所以后来我只是在文件 txt 中写下我想抓取的任何项目。 Pegasus、Phoenix、Lucid 的示例 然后关键字参数被定向到不同的 txt,在 txt 中它包含这些对象的列表 一旦它完成了 pegasus 的抓取,它将抓取下一个项目 Phoenix,依此类推
import requests
import csv
key = input('enter name file u want :')
write = csv.writer(open('output/{}.csv'.format(key), 'w', newline=''))
header = ['Name', 'Price', 'Seller', 'Order']
write.writerow(header)
url = 'https://api-gateway.itemku.com/v1/product'
count = 0
for page in range(1, 2):
parameter = {
'is_include_game': 1,
'is_include_item_type': 1,
'is_include_item_info_group': 0,
'is_include_order_record': 1,
'is_from_web': 1,
'is_include_upselling_product': 1,
'game_id': 29,
'per_page': 18,
'page': page,
'sort': 'cheap',
'is_auto_delivery_first': 1,
'is_with_promotion': 1,
'keyword': 'pegasus'
}
r = requests.get(url, params=parameter).json()
products = r['data']['data']
for p in products:
name = p['name']
price = p['price']
seller = p['seller']
order = p['order_record']
count += 1
print('No :', count, 'name:', name, 'price:',
price, 'seller:', seller, 'order:', order)
write = csv.writer(
open('output/{}.csv'.format(key), 'a', newline=''))
data = [name, price, seller, order]
write.writerow(data)
how do i change the "keyword" in parameter ('pegasus')
如果您的意思是更改参数内键“关键字”的“值”,则只需替换值:
parameter['keyword'] = "Pheonix"
要从 .txt 文件读取数据并循环遍历它,只需读取文件并将值添加到列表,然后循环遍历它
key = [line.strip() for line in open('../relative/path','r')
....
for keyword in key:
....
parameter = {
'is_include_game': 1,
'is_include_item_type': 1,
'is_include_item_info_group': 0,
'is_include_order_record': 1,
'is_from_web': 1,
'is_include_upselling_product': 1,
'game_id': 29,
'per_page': 18,
'page': page,
'sort': 'cheap',
'is_auto_delivery_first': 1,
'is_with_promotion': 1,
'keyword': keyword
}
# or you could set the value after creating parameter dictionary
# parameter['key'] = keyword
用这种方式读取文件不会在读取完成后关闭文件,但除非你用这种方法打开很多文件,否则应该不会有问题。垃圾收集器应该为我们完成关闭文件的工作。