簡體   English   中英

當用python抓取時循環

[英]LOOP When scraping with python

我正在嘗試使用此簡單代碼使用python抓取數據

import requests
import json

url = "https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=fais&type=2&limit=100"
r = requests.get(url)
cont = json.loads(r.content)
print(cont)

代碼的輸出:JSON

[{u'phone': u'99399934', u'name': u'fai'}, {u'phone': u'99111267', u'name': u'Fai2 Basheer '}, {u'phone': u'50129494', u'name': u'Fai4 Delly '}]

它對我來說很棒,但問題是需要循環,因此我可以發送多個帶有不同參數的示例請求:

https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=JOHN&type=2&limit=6000"
https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=SAM&type=2&limit=9000"
https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=JOHN&type=2&limit=1000"
https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=HARRY&type=2&limit=7000"

因為每個不同的限制參數值都會從相同的關鍵字中刪除新數據,因為json請求僅返回1000Row。

第一種方法

使用網址list ,然后對其進行迭代以獲取每個網址的響應。

urls = ['https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=JOHN&type=2&limit=6000"',
'https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=SAM&type=2&limit=9000"',
'https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=JOHN&type=2&limit=1000"',
'https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=HARRY&type=2&limit=7000"']

for url in urls:
    r = requests.get(url)
    cont = json.loads(r.content)
    print(cont)

第二種方法

包含所有參數的嵌套dict

data = {
'data_1' : {'keyword': 'JOHN', 'type': '2', 'limit': '6000'},
'data_2' : {'keyword': 'SAM', 'type': '2', 'limit': '2000'},
'data_3' : {'keyword': 'JOHN', 'type': '2', 'limit': '1000'},
'data_4' : {'keyword': 'HARRY', 'type': '2', 'limit': '7000'}
}

for param in data:
    page = requests.get("https://xxxxxxxx.com/getNamesEnc02Motasel2.php?", params=data[param])
    cont = json.loads(r.content)
    print(cont)
parameters = [
'JOHN:6000',
'SAM:9000',
'JOHN:1000',
'HARRY:7000']



import requests
import json


for item in parameters:
    key, value = item.split(':')
    url = "https://xxxxxxxx.com/getNamesEnc02Motasel2.php?keyword=%s&type=2&limit=%s" %(key, value)
    r = requests.get(url)
    cont = json.loads(r.content)
    print(cont)

暫無
暫無

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

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