مشق Strings کی مشقیں

page ایک متغیر (variable) جس میں ایک ویب پیج ایک اسٹرنگ کی شکل میں ہوگا۔

PHP:
page =('<div id="top_bin"><div id="top_content" class="width960">'
'<div class="udacity float-left"><a href="http://www.xkcd.com">')

start_link ایک ایسا متغیر (variable) جس میں کسی ویب پیج ایڈریس کی ابتدائی پوزیشن ہو۔

PHP:
start_link = page.find("") #need to write string for the start of webpage address
 
پچھلی مشق سے جڑی ایک اور مشق

URL نامی ایک متغیر (variable ) کو page اسٹرنگ میں موجود پہلے URL کی ویلیو دینی ہے جو لنک ٹیگ میں موجود ہو۔

یعنی سب سے پہلا لنک ٹیگ تلاش کرنا ہے page اسٹرنگ میں ، پھر اس ٹیگ میں سے ویب پیج ایڈریس (URL) کی قیمت نکال کر اسے متغیر URL کو دینی ہے۔ میں نیچے وہ چار متغیر لکھ رہا ہوں جو اس کام کے لیے چاہیے ہوں گے۔

PHP:
page = contents of a web page
 
start_link = first occurrence of tag link of web page
 
start_quote = first occurrence of web page tag link
 
end_quote = second occurrence of web page tag link
 

نمرہ

محفلین
فائنڈ فنکشن کا استعمال ، یہاں فرض کیا گیا ہے کہ پیج میں کوئی لنک موجود ہے اور وہ لنک ڈبل کوٹس کے درمیان ہے۔
PHP:
page =('<div id="top_bin"><div id="top_content" class="width960">'
'<div class="udacity float-left"><a href="http://www.xkcd.com">')
>>> s1=page.find("href")
>>> s2=page[s1+6:]
>>> s3=s2.find("\"")
>>> s4=s2[:s3]
>>> print(s4)
http://www.xkcd.com
 
سچی بات ہے کہ سمجھ نہیں آئی کہ کس ان پٹ سے کیا آؤٹ پٹ لینا چاہ رہے ہیں۔ :(

بھائی صاحب پہلی پوسٹ میں صرف وہ اسٹرنگ لکھنی تھی جس سے کسی بھی لنک ٹیگ کے آغاز کا اشاریہ مل جاتا اور اس کے بعد اگلی مشق میں ایک ویب پیج کا مواد فرض کیا گیا ہے (اس کی جگہ پہلی پوسٹ سے پیج والی اسٹرنگ بھی اٹھائی جا سکتی ہے)۔

کمپیوٹر سائنس میں اکثر فرمائشیں مبہم ہی ہوتی ہیں اور انہیں فرمائشوں کو پورا کرنے کے لیے آپ کو خود سے بہت سی چیزیں سوچنی اور پوچھنی پڑتی ہیں اور اکثر مختلف منظرنامے بنانے پڑتے ہیں۔
 
فائنڈ فنکشن کا استعمال ، یہاں فرض کیا گیا ہے کہ پیج میں کوئی لنک موجود ہے اور وہ لنک ڈبل کوٹس کے درمیان ہے۔
PHP:
page =('<div id="top_bin"><div id="top_content" class="width960">'
'<div class="udacity float-left"><a href="http://www.xkcd.com">')
>>> s1=page.find("href")
>>> s2=page[s1+6:]
>>> s3=s2.find("\"")
>>> s4=s2[:s3]
>>> print(s4)
http://www.xkcd.com


نمرہ کو ملیں گے پورے نمبر :)

ایک اور طریقہ جس میں متغیر () کے نام بامعنی اور لنک ٹیگ کو آغاز سے لیا گیا ہے ۔

PHP:
page =('<div id="top_bin"><div id="top_content" class="width960">'
'<div class="udacity float-left"><a href="http://www.xkcd.com">')
 
start_link = page.find('<a href=')      # start of link tag
start_quote = page.find('"',start_link)  # index of first quote in link tag
end_quote = page.find('"',start_quote+1) # index of second quote in link tag
url = page[start_quote+1:end_quote]      # extracting string between start quote and end quote
 
 
print(url)
http://www.xkcd.com

محمداحمد کا غیر حاضری پر نوٹس لے لیا گیا ہے ۔ :)
 
اسی کوڈ کو ہم ایک فنکشن میں لکھ کر web crawler اطلاقیہ کے لیے کوڈ میں استعمال کریں گے۔

اس کوڈ سے ہم ایک ویب پیج موجود تمام لنک اکٹھے کریں گے۔
 

محمداحمد

لائبریرین

بہت شکریہ محب بھیا!

شکریہ کے بعد 2 عدد معذرت۔ :)

پہلی اس بات پر کہ پچھلے دنوں پائتھون کے دھاگوں کو وقت نہیں دے سکا۔
اور دوسری اس بات پر کہ اس دھاگہ میں موجود Strings کی مشقیں مجھے بالکل بھی سمجھ نہیں آسکیں۔

نمرہ
ایک اور طریقہ جس میں متغیر () کے نام بامعنی اور لنک ٹیگ کو آغاز سے لیا گیا ہے ۔

PHP:
page =('<div id="top_bin"><div id="top_content" class="width960">'
'<div class="udacity float-left"><a href="http://www.xkcd.com">')
 
start_link = page.find('<a href=')      # start of link tag
start_quote = page.find('"',start_link)  # index of first quote in link tag
end_quote = page.find('"',start_quote+1) # index of second quote in link tag
url = page[start_quote+1:end_quote]      # extracting string between start quote and end quote
 
 
print(url)
http://www.xkcd.com

اس مثال سے تو ایسا لگتا ہے جیسے ایک ویب لنک میں سے url کو اخذ کیا گیا ہے۔ لیکن:

1۔ سمجھ نہیں آیا کہ اس مثال میں جو html/cssکے div ٹیگز ، id اور classes دی گئیں ہیں ان کا کیا کردار ہے۔
اور 2۔ یہ کہ اس url کو اخذ کرنے کی ضرورت ہمیں کہاں کہاں ہو سکتی ہے۔
 
بہت شکریہ محب بھیا!

شکریہ کے بعد 2 عدد معذرت۔ :)

پہلی اس بات پر کہ پچھلے دنوں پائتھون کے دھاگوں کو وقت نہیں دے سکا۔
اور دوسری اس بات پر کہ اس دھاگہ میں موجود Strings کی مشقیں مجھے بالکل بھی سمجھ نہیں آسکیں۔



اس مثال سے تو ایسا لگتا ہے جیسے ایک ویب لنک میں سے url کو اخذ کیا گیا ہے۔ لیکن:

1۔ سمجھ نہیں آیا کہ اس مثال میں جو html/cssکے div ٹیگز ، id اور classes دی گئیں ہیں ان کا کیا کردار ہے۔
اور 2۔ یہ کہ اس url کو اخذ کرنے کی ضرورت ہمیں کہاں کہاں ہو سکتی ہے۔

معذرت قبول ہوئی اور اس مثال میں ویب پیج یا کسی بھی متغیر(variable) میں سے URL اخذ کیا جا رہا ہے۔ فی الحال صرف ایک لنک ہے مگر آگے چل کر پورے ویب پیج میں سے جتنے بھی لنک ہوں گے وہ سب اخذ ہوں گے۔ دوسرے تمام ٹیگز کو ہم نظرانداز کریں گے۔ ویب پیج کا سورس دیکھیں کسی بھی پیج کا تو ایسے ہی ٹیگز نظر آئیں گے۔

ہم ایک web crawlerبنائیں گے جس میں تمام لنک اخذ کیے جائیں گے ۔
 

محمداحمد

لائبریرین
یہ کوڈ ایک ٹیکسٹ فائل میں سے کوئی مخصوص لفظ تلاش کرنے کے لئے استعمال ہو سکتا ہے۔

PHP:
file = open('D:\pg1232.txt')
# File Link : http://www.gutenberg.org/files/1232/1232.txt
word = file.read() # Reading the entire file.
word_lc = word.lower()#convert all words to lowercase.
tofind = 'machiavelli' # Search Term - Only type lowercase words.
c = word_lc.count(tofind)
print ("The word \""+tofind+"\" has occured "+str(c)+" time(s) in the given text file.")

اس کوڈ میں سب سے پہلے ایک ٹیکسٹ فائل کو اوپن کروایا گیا ہے اور پھر .read کی مدد سے ٹیکسٹ کو ایک متغیر میں محفوظ کیا گیا ہے۔ اس کے بعد count methodکے ذریعے یہ معلوم کیا گیا ہے کہ مطلوبہ لفظ دئیے گئے ٹیکسٹ میں کتنی بار موجود ہے۔
 

نمرہ

محفلین
ایک ویب پیج میں سے تمام روابط اخذ کرنے کے لیے ایک فنکشن۔
PHP:
def fd(page):
  a=[]
  while True:
    stlink=page.find("href=")
    if stlink==-1:
        break
    tmp=page[stlink+6:]
    edlink=tmp.find("\"")
    link=tmp[:edlink]
    page=tmp[edlink:]
    a.append(link)
  return a


PHP:
>>> p=''' The Python Software Foundation is a non-profit corporation. 
    <a href="http://www.python.org/psf/donations/">Please donate.</a>
    <br />    Last updated on Oct 11, 2012.  <a href="../bugs.html">Found a bug</a>?  <br />    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.'''
 
>>> d=fd(p)
>>> d
['http://www.python.org/psf/donations/', '../bugs.html', 'http://sphinx.pocoo.org/']
>>>
 

محمدصابر

محفلین
اگر ان کا کوئی فائدہ نہیں تو پھر یہ دھاگہ کیوں کھولا ہے اور اگر فائدہ تو پھر استعمال تو کرنا پڑے گا۔
بلال بھائی فائدہ شاید ضرورت کی بنیاد پر ہوتا ہے۔ ورنہ وقت ضائع ہوتا ہے۔ مثلااگر آپ کو ویب سے کچھ اکٹھا کرنا ہے جیسے شاکر بھائی نے کارپس بنائے تھے۔ تو یہ کوڈ کام آئے گا ابھی تو یہ اپنی بالکل ابتدائی شکل میں ہے آپ اپنی ضرورت کے مطابق اس میں تبدیلیاں کر کے اپنے مقصد کے حصول کے لئے استعمال کر سکتے ہیں
 

محمد بلال اعظم

لائبریرین
بلال بھائی فائدہ شاید ضرورت کی بنیاد پر ہوتا ہے۔ ورنہ وقت ضائع ہوتا ہے۔ مثلااگر آپ کو ویب سے کچھ اکٹھا کرنا ہے جیسے شاکر بھائی نے کارپس بنائے تھے۔ تو یہ کوڈ کام آئے گا ابھی تو یہ اپنی بالکل ابتدائی شکل میں ہے آپ اپنی ضرورت کے مطابق اس میں تبدیلیاں کر کے اپنے مقصد کے حصول کے لئے استعمال کر سکتے ہیں

پھر تو ہم تم دور دور ہی ٹھیک ہیں۔
مجھے تو پروگرمانگ کی الف بے بھی نہیں آتی۔
 
Top