为了账号安全,请及时绑定邮箱和手机立即绑定

LOOP 抓取数据时

LOOP 抓取数据时

慕少森 2021-11-23 19:46:17
我正在尝试使用循环来废弃数据,这是代码import requestsimport jsonimport pandas as pdparameters = ['a:1','a:2','a:3','a:4','a:3','a:4','a:5','a:6','a:7','a:8','a:9','a:10']results = pd.DataFrame()for item in parameters:    key, value = item.split(':')    url = "https://xxxx.000webhostapp.com/getNamesEnc02Motasel2.php?keyword=%s&type=2&limit=%s" %(key, value)    r = requests.get(url)    cont = json.loads(r.content)    temp_df = pd.DataFrame(cont)    results = results.append(temp_df)results.to_csv('ScrapeData.csv', index=False)这种方法效果很好,但问题是我需要参数 = 直到 'a:1000',我认为有一个更好的解决方案可以从 'a:1' 循环到 'a:1000' 而不是像这样复制参数我的代码。我真的需要你的帮助
查看完整描述

2 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

使用可以使用for i in range(start, end)循环。像这样


results = pd.DataFrame()

key = 'a'


# Goes from 1 to 1000 (including both)

for value in range(1, 1001):

    url = f'https://xxxx.000webhostapp.com/getNamesEnc02Motasel2.php?keyword={key}&type=2&limit={value}'

    r = requests.get(url)

    cont = json.loads(r.content)

    temp_df = pd.DataFrame(cont)

    results = results.append(temp_df)


results.to_csv('ScrapeData.csv', index=False)


查看完整回答
反对 回复 2021-11-23
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

value = 1

key = 'a'

while value <= 1000:

    url = .....%(key, str(value))

    ....

    ....

    value += 1


......

使用计数器


查看完整回答
反对 回复 2021-11-23
  • 2 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信