簡體   English   中英

LOOP抓取數據時

[英]LOOP When scraping data

我試圖使用循環剪貼數據,這是代碼

import requests
import json
import pandas as pd

parameters = ['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',而不是像我的代碼。

我真的需要你的幫助

value = 1
key = 'a'
while value <= 1000:
    url = .....%(key, str(value))
    ....
    ....
    value += 1

......

使用櫃台

可以for i in range(start, end)循環中使用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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM