البوابة الرقمية ADSLGATE

البوابة الرقمية ADSLGATE (https://www.adslgate.com/dsl/index.php)
-   بوابة البرمجة العامة (https://www.adslgate.com/dsl/forumdisplay.php?f=31)
-   -   بايثون -حذف كل شي بعد رمز معين ؟ (https://www.adslgate.com/dsl/showthread.php?t=2560631)

Tq007 20-11-2019 02:58 PM

بايثون -حذف كل شي بعد رمز معين ؟
 
1-يا اخوان كيف اطلع الي بالاحمر

بين =,&
كود:

url = "https://www.adslgate.com/dsl/newthread.php?do=newthread&f=0000"


print url

2-كيف احذف كل شي بعد & مع ال& :19:

anasota 20-11-2019 07:13 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
فيه طريقة regex .. ابحث عنها ممكن تفيدك

وفيه طريقه اسهل .. string.split .. التالي يحول النص لمصفوفه مقصوصه عند كل حرف "&"
كود:

url.split("&")
وفيه طريقه الاسهل .. string.replace .. تقدر تبحث عن النصوص الي دائما مكرره وتبدلها بفراغ
كود:

url = url.replace("http.......do=","")
كود:

url = url.replace("&f=0000","")

كل هذي الطرق تنفعك اذا الي ملون بالاسود دائما ثابت والمتغير بس الي باللون الاحمر
اما اذا الروابط متغيره في اكثر من مكان تقدر تحاول بواسطه regex

Tq007 21-11-2019 03:01 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة anasota (المشاركة 1082638634)
فيه طريقة regex .. ابحث عنها ممكن تفيدك

وفيه طريقه اسهل .. string.split .. التالي يحول النص لمصفوفه مقصوصه عند كل حرف "&"
كود:

url.split("&")
وفيه طريقه الاسهل .. string.replace .. تقدر تبحث عن النصوص الي دائما مكرره وتبدلها بفراغ
كود:

url = url.replace("http.......do=","")
كود:

url = url.replace("&f=0000","")

كل هذي الطرق تنفعك اذا الي ملون بالاسود دائما ثابت والمتغير بس الي باللون الاحمر
اما اذا الروابط متغيره في اكثر من مكان تقدر تحاول بواسطه regex

انا كانت مشكلتي ان اذا نسخت رابط فديو من like list
يضيف الايدي حق السته و وقت الوقوف وكم حاجه ثانيه

سويت كود تحط الرابط ويحذف كل شي له شغل بالست

اخضر متغير / احمر ثابت
كود:

import webbrowser
import re


a_website = "https://www.youtube.com/watch?v=Ah-videoid&list=hacmoashotalistlist_abcdf-g&index=90&t=22s"

يغير الارقام لصفر
id = "0"
a_website = "https://www.youtube.com/watch?v=videoid&list=hacmoashotalistlist_abcdf-g&index=%s"% id + "&t=%s" % id + "s"

يتحذف كل شي له شغل بالسته
بعد تغيير الارقام لصفر
a_website = a_website.replace("&list=hacmoashotalistlist_abcdf-g&index=0&t=0s","")



يفتح الرابط بالمتصفح
webbrowser.open_new(a_website)


Tq007 21-11-2019 04:13 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
عندي مشكله

كود:

import json

with open ('path') as data_file:
 data = json.load(data_file)

print (data["videoId"])

يعطي KeyError: 'videoId'
احد يعرف حل جربت كم واحد ولا مشى
الي فهمته لازم اجيبها من ورا


"videoId" : "eeeeeeee",

iSR5 21-11-2019 10:33 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Tq007 (المشاركة 1082638416)
1-يا اخوان كيف اطلع الي بالاحمر

بين =,&
كود:

url = "https://www.adslgate.com/dsl/newthread.php?do=newthread&f=0000"


print url

2-كيف احذف كل شي بعد & مع ال& :19:


استخدم find :



كود:

url = "https://www.adslgate.com/dsl/newthread.php?do=newthread&f=0000"
result = url[url.find('=')+1:url.find('&')] #output: newthread
slicedLink = url[0:url.find('&')] #output: https://www.adslgate.com/dsl/newthread.php?do=newthread


Tq007 22-11-2019 09:32 AM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة iSR5 (المشاركة 1082640233)
استخدم find :



كود:

url = "https://www.adslgate.com/dsl/newthread.php?do=newthread&f=0000"
result = url[url.find('=')+1:url.find('&')] #output: newthread
slicedLink = url[0:url.find('&')] #output: https://www.adslgate.com/dsl/newthread.php?do=newthread



كود:

import json

with open ('path') as data_file:
 data = json.load(data_file)

print (data["videoId"])

يعطي KeyError: 'videoId'
احد يعرف حل جربت كم واحد ولا مشى
الي فهمته لازم اجيبها من ورا


"videoId" : "eeeeeeee",

iSR5 22-11-2019 03:26 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Tq007 (المشاركة 1082640625)
كود:

import json

with open ('path') as data_file:
 data = json.load(data_file)

print (data["videoId"])

يعطي KeyError: 'videoId'
احد يعرف حل جربت كم واحد ولا مشى
الي فهمته لازم اجيبها من ورا


"videoId" : "eeeeeeee",

عطني مثال على ال json اللي تحاول تقرأه ..

Tq007 22-11-2019 04:32 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة iSR5 (المشاركة 1082640995)
عطني مثال على ال json اللي تحاول تقرأه ..

ملف لسته حق يوتيوب من قوقل takeout

كود:

{
  "contentDetails" : {
    "videoId" : "rrrrrrrrrrrrr",
    "videoPublishedAt" : "2000-11-0000:0:0.000Z"
  },
  "etag" : "\"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr\"",
  "id" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  "kind" : "youtube#playlistItem",
  "snippet" : {
    "channelId" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
    "channelTitle" : "rrrrrrrrr",
    "description" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
    "playlistId" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr-rr",
    "position" : 2,
    "publishedAt" : "2000-00-02T00:00:00.000Z",
    "resourceId" : {
      "kind" : "youtube#video",
      "videoId" : "rrrrrrrrrrrrrrr"
    },
    "thumbnails" : {
      "default" : {
        "height" : 90,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 120
      },
      "high" : {
        "height" : 360,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 480
      },
      "medium" : {
        "height" : 180,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 320
      },
      "standard" : {
        "height" : 480,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 640
      }
    },
    "title" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"
  },
  "status" : {
    "privacyStatus" : "public"
  }


iSR5 22-11-2019 05:07 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
SPOILER:
اقتباس:

المشاركة الأصلية كتبت بواسطة Tq007 (المشاركة 1082641077)
ملف لسته حق يوتيوب من قوقل takeout

كود:

{
  "contentDetails" : {
    "videoId" : "rrrrrrrrrrrrr",
    "videoPublishedAt" : "2000-11-0000:0:0.000Z"
  },
  "etag" : "\"rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr\"",
  "id" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  "kind" : "youtube#playlistItem",
  "snippet" : {
    "channelId" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
    "channelTitle" : "rrrrrrrrr",
    "description" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
    "playlistId" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr-rr",
    "position" : 2,
    "publishedAt" : "2000-00-02T00:00:00.000Z",
    "resourceId" : {
      "kind" : "youtube#video",
      "videoId" : "rrrrrrrrrrrrrrr"
    },
    "thumbnails" : {
      "default" : {
        "height" : 90,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 120
      },
      "high" : {
        "height" : 360,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 480
      },
      "medium" : {
        "height" : 180,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 320
      },
      "standard" : {
        "height" : 480,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 640
      }
    },
    "title" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"
  },
  "status" : {
    "privacyStatus" : "public"
  }





videoId هذا داخل مصفوفة الـ contentDetails


فانت بتعمل كذا :

كود:

data["contentDetails"]["videoId"]

كود:

import json

json_data = """
 {
  "contentDetails" : {
    "videoId" : "rrrrrrrrrrrrr",
    "videoPublishedAt" : "2000-11-0000:0:0.000Z"
  },
  "etag" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  "id" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  "kind" : "youtube#playlistItem",
  "snippet" : {
    "channelId" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
    "channelTitle" : "rrrrrrrrr",
    "description" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
    "playlistId" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr-rr",
    "position" : 2,
    "publishedAt" : "2000-00-02T00:00:00.000Z",
    "resourceId" : {
      "kind" : "youtube#video",
      "videoId" : "rrrrrrrrrrrrrrr"
    },
    "thumbnails" : {
      "default" : {
        "height" : 90,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 120
      },
      "high" : {
        "height" : 360,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 480
      },
      "medium" : {
        "height" : 180,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 320
      },
      "standard" : {
        "height" : 480,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 640
      }
    },
    "title" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"
  },
  "status" : {
    "privacyStatus" : "public"
  }
}
"""

data = json.loads(json_data)

print(data["contentDetails"]["videoId"])


Tq007 22-11-2019 06:17 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
SPOILER:
اقتباس:

المشاركة الأصلية كتبت بواسطة iSR5 (المشاركة 1082641124)
SPOILER:





videoId هذا داخل مصفوفة الـ contentDetails


فانت بتعمل كذا :

كود:

data["contentDetails"]["videoId"]

كود:

import json

json_data = """
 {
  "contentDetails" : {
    "videoId" : "rrrrrrrrrrrrr",
    "videoPublishedAt" : "2000-11-0000:0:0.000Z"
  },
  "etag" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  "id" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
  "kind" : "youtube#playlistItem",
  "snippet" : {
    "channelId" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
    "channelTitle" : "rrrrrrrrr",
    "description" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
    "playlistId" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr-rr",
    "position" : 2,
    "publishedAt" : "2000-00-02T00:00:00.000Z",
    "resourceId" : {
      "kind" : "youtube#video",
      "videoId" : "rrrrrrrrrrrrrrr"
    },
    "thumbnails" : {
      "default" : {
        "height" : 90,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 120
      },
      "high" : {
        "height" : 360,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 480
      },
      "medium" : {
        "height" : 180,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 320
      },
      "standard" : {
        "height" : 480,
        "url" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr",
        "width" : 640
      }
    },
    "title" : "rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"
  },
  "status" : {
    "privacyStatus" : "public"
  }
}
"""

data = json.loads(json_data)

print(data["contentDetails"]["videoId"])




يعطي ايرور
TypeError: list indices must be integers or slices, not str
حليتها ب اضافه الي بالاحمر
لاكن ماراح يطبع الا الرقم الي تحطه
كود:

#print (data[0]['contentDetails']['videoId'])
عشان تطبع كل شي لازم تسوي لوب
كود:

print([data_item['contentDetails']["videoId"] for data_item in data])
الحين كيف احط كل videoId في رابط ؟ (1500 واحد)!
ابي اقسم كل 25 في صفحه لحال منين ابدا :66:
youtbe.com/dddd/watch=/+videoId+/ss

طبعا انا افتحه عن طريق
كود:

webbrowser.open_new(a_website)

iSR5 22-11-2019 10:47 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Tq007 (المشاركة 1082641187)

يعطي ايرور
TypeError: list indices must be integers or slices, not str
حليتها ب اضافه الي بالاحمر
لاكن ماراح يطبع الا الرقم الي تحطه
كود:

#print (data[0]['contentDetails']['videoId'])
عشان تطبع كل شي لازم تسوي لوب
كود:

print([data_item['contentDetails']["videoId"] for data_item in data])
الحين كيف احط كل videoId في رابط ؟ (1500 واحد)!
ابي اقسم كل 25 في صفحه لحال منين ابدا :66:
youtbe.com/dddd/watch=/+videoId+/ss

طبعا انا افتحه عن طريق
كود:

webbrowser.open_new(a_website)


تقدر تعمل كذا :

كود:

for x in range(len(data_item)):
    if x % 25 == 0:
        print(data_item[x]['contentDetails']["videoId"])


Tq007 23-11-2019 10:34 AM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة iSR5 (المشاركة 1082641539)
تقدر تعمل كذا :

كود:

for x in range(len(data_item)):
    if x % 25 == 0:
        print(data_item[x]['contentDetails']["videoId"])



NameError: name 'data_item' is not defined

iSR5 23-11-2019 10:50 AM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة Tq007 (المشاركة 1082641963)
NameError: name 'data_item' is not defined

data_item قصدت فيها الـ data اللي فيها الـ json list

Tq007 24-11-2019 09:34 PM

رد: بايثون -حذف كل شي بعد رمز معين ؟
 
اقتباس:

المشاركة الأصلية كتبت بواسطة iSR5 (المشاركة 1082641972)
data_item قصدت فيها الـ data اللي فيها الـ json list

كيف احط 25 videoIdفي https://www.youtube.com/watch?v=videoId

اعتذر على كثره الاسئله
بس ما ارجع هنا الا اذا فقدت الامل:66:


الساعة الآن 04:31 AM.

Powered by vBulletin® Version 3.8.11, Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
البوابة الرقمية ADSLGATE © 2019