Python Requests ۋە csv.reader بىلەن كۆپ قۇرلۇق CSV خاتىرىلىرىنى ئېقىملىق بىر تەرەپ قىلىش
Proxy ئارقىلىق كەلگەن ئىنكاسنى csv.reader غا ئېقىملىق يۆتكەڭ ۋە ھەر بىر فىزىكىلىق قۇرنى ئايرىغۇچتا بۆلۈشنىڭ ئورنىغا خاتىرە چېگرىسىنى ساقلاڭ.
stream=True بولسا proxy ئارقىلىق كەلگەن ئىنكاسنىڭ بەدىنى پۈتۈنلەي چۈشۈرۈلۈپ بولۇشتىن ئىلگىرى بىر تەرەپ قىلىشنى باشلاشقا يول قويىدۇ. CSV ئۈچۈن csv.reader غا تېكىست قۇر تەكرارلىغۇچىنى يەتكۈزۈڭ، شۇنداق بولغاندا نەق تىرناق ئىچىدىكى ئايرىغۇچلار ۋە كۆپ قۇرلۇق خاتىرىلەر CSV سانلىق مەلۇماتى بولۇپ قالىدۇ.
چېكىت-پەش ئىشلىتىدىغان ئۈلگە UTF-8 ھۆججىتى ئۈچۈن:
import csv
import requests
routes = {'https': 'http://proxy.example:8080'}
with requests.get(
'https://data.example/observations.csv',
proxies=routes,
stream=True,
timeout=(5, 30),
) as response:
response.raise_for_status()
response.encoding = 'utf-8'
lines = (
line + '\n'
for line in response.iter_lines(
chunk_size=65536, decode_unicode=True)
)
for record in csv.reader(lines, delimiter=';'):
if record and record[0] == 'wanted':
print(record)
break
ھۆججەتنىڭ ھەقىقىي كودلاش ۋە شېۋەسىنى تاللاڭ. رۇخسەت قىلىنغان ئاممىۋى proxy يولىدا ئاممىۋى CSV چۈشۈرۈش ئۈچۈن، HTTP proxy تىزىملىكى routes URL ئۈچۈن نامزاتلارنى تەمىنلەيدۇ. بۇ نەشرى فىزىكىلىق قۇر ئاخىرىنى LF غا نورماللاشتۇرىدۇ: iter_lines ئۇلارنى چىقىرىۋېتىدۇ، گېنېراتور CSV تەھلىلچىسى ئۈچۈن يېڭى قۇرنى قايتا قوشىدۇ. بۇ نەق تىرناق ئىچىدىكى مەيدان باشقا بىر فىزىكىلىق قۇرغا داۋاملاشقاندا مۇھىم.
ئىچىگە كىرگۈزۈلگەن CRLF ھەرپلىرىنى بايت دەرىجىسىدە توغرا ساقلاشنى تەلەپ قىلىدىغان خىزمەت ئېقىملىرى ئۈچۈن، شۇ قۇر ئاخىرلىرىنى ساقلايدىغان ئېقىملىق تېكىست قاپلىما قۇرۇلمىسىنى ئىشلىتىڭ. ئۈلگەدىكى قەستەن نورماللاشتۇرۇش LF نى مەقسەت قىلىنغان ئىپادىلەش بولغان خاتىرە-مەركەزلىك بىر تەرەپ قىلىشقا ماس كېلىدۇ.
بىر ئىنكاس، كۆپ ئوقۇش
تەكرارلىغۇچ بىر HTTP ئىنكاسىدىن پارچىلارنى ئىشلىتىدۇ. ھەر بىر قۇر ئۈچۈن يېڭى تەلەپ ئەۋەتمەيدۇ. HTTP Range تەلەپلىرى باشقا مېخانىزم بولۇپ، CSV خاتىرە چېگرىسىنى تەبىئىي تونۇمايدۇ.
response.text نى چاقىرىش ياكى بارلىق قۇرلارنى تىزىملىككە جەم قىلىش پۈتۈن مەزمۇننى قايتا ئەسلىگە ئېلىپ كېلىدۇ. ئېقىملىق بىر تەرەپ قىلىش يەنىلا يۆتكەش بۇفېرى ۋە نۆۋەتتىكى خاتىرە ئۈچۈن ئورۇنغا موھتاج، خاتىرىنىڭ ئۆزى چوڭ مەيدان بولۇشى مۇمكىن.
ئىنكاس مۇھىتى چەۋرىدىن چىققاندا بەدەننى تاقايدۇ، بالدۇر ماسلاشقاندا ئىچىدە. ئوقۇش ۋاقىت چېكى كىرگەن سانلىق مەلۇماتنى كۈتۈشنى چەكلەيدۇ، چوڭ ھۆججەت يۆتكەشنىڭ ئومۇمىي ئۆمرىنى ئەمەس.