简体   繁体   中英

old news articles scraping from google search results

I am new to web scraping and i have this question regarding the scraping of Google search results. lets suppose i want to scrape the search results of the first 100 pages of Google based on a search query and extract the text of these urls. I have tried several codes and so far i have not been able to get the desired results can anybody help me with this.. here is code attached that fetches the urls of the current pages and eliminates the visited urls in case they are visited more than once.

from bs4 import BeautifulSoup
from urllib.request import urlopen
from urllib.parse import urljoin
import requests


base_query = 'inurl:www.bbc.com/urdu/pakistan'
base ="http://www.bbc.com.pk/"
google_search_url = 'https://www.google.com.pk/search?q=inurl:www.bbc.com/urdu/pakistan&filter=0&biw=1366&bih=638'
resp = requests.get(google_search_url)
soup = BeautifulSoup(resp.text, "html.parser")
url = []
to_crawl_urls = set()

visited = [] # to check if page was already visited
visited = ["http://www.bbc.com.pk/"]
for cite in soup.find_all('cite'):
    url .append( cite.text)

# skip urls already visited
if url in visited or url == google_search_url:
    print('... skiping:', url)

# remember new page as visited
visited.append(url)

print("loading:", url)

subpage = urlopen(url)
subsoup = BeautifulSoup(subpage, "html.parser")
# find div with text 
for story_body in subsoup.find_all('div', class_='story-body'):
        # find title
        h1 = story_body.find('h1', class_='story-body__h1')
        if h1:
            print('title:', story_body.find('h1', class_='story-body__h1').get_text(strip=True))
            # find div with paragraphs 
            div = story_body.find('div', class_='story-body__inner')
            # find all paragraphs in dive
            for p in div.find_all('p'):
                print(p.get_text(strip=True))

There was an issue in the way you were sending requests.

You sending requests using a list of urls instead of urls.

Please confirm if this is the output you're looking for.

Code:

from bs4 import BeautifulSoup
import requests

base_query = 'inurl:www.bbc.com/urdu/pakistan'
base = "http://www.bbc.com.pk/"
google_search_url = 'https://www.google.com.pk/search?q=inurl:www.bbc.com/urdu/pakistan&filter=0&biw=1366&bih=638'
resp = requests.get(google_search_url)
soup = BeautifulSoup(resp.text, "html.parser")
url = []
to_crawl_urls = set()

visited = [] # to check if page was already visited
visited = ["http://www.bbc.com.pk/"]
for cite in soup.find_all('cite'):
    url .append(cite.text)

# skip urls already visited
if url in visited or url == google_search_url:
    print('... skiping:', url)

# remember new page as visited
visited.append(url)

print("loading:", url)

for i in url:
    subpage = requests.get('http://' + i)
    subsoup = BeautifulSoup(subpage.text, "html.parser")
    # find div with text
    for story_body in subsoup.find_all('div', class_='story-body'):
            # find title
            h1 = story_body.find('h1', class_='story-body__h1')
            if h1:
                print('title:', story_body.find('h1', class_='story-body__h1').get_text(strip=True))
                # find div with paragraphs
                div = story_body.find('div', class_='story-body__inner')
                # find all paragraphs in dive
                for p in div.find_all('p'):
                    print(p.get_text(strip=True))

Output:

title: تف ہے ایسی جمہوریت پر!
کچھ ممالک اور ان کے رہنما ایک عجب مرض میں مبتلا ہیں۔ یعنی بات بات پر ریفرنڈم اور انتخابات کی جانب بھاگنے کا مرض۔ سوئٹزر لینڈ  کا تو یہ حال ہے کہ اگر چند لاکھ لوگ اس یاداشت پر بھی دستخط کر دیں کہ انہیں چھینک لینے کے لیے اوپر کے بجائے نیچے دیکھنے کا اختیار چاہیے تو اس پر بھی ریفرنڈم ہو جاتا ہے۔
برطانیہ میں ڈیوڈ کیمرون کو نہ آئین نے مجبور کیا تھا اور نہ ہی پارلیمنٹ نے کہ وہ یورپی یونین میں رہنے یا نکلنے کے سوال پر ریفرنڈم کروائیں۔ مگر بھولے ڈیوڈ نے چونکہ انتخابی مہم کے دوران جیتنے کے حربے کے طور پر بریگزٹ کے بارے میں عوامی رائے لینے کا وعدہ کر لیا تھا۔ کوئی بتانے والا نہیں تھا کہ میاں ڈیوڈ ایسے سیاستیں نہیں ہوتیں۔ ایک انتخابی وعدے کی اوقات ہی کیا ہے۔ وعدے قرآن و حدیث تھوڑا ہیں۔ مگر نہیں صاحب بریگزٹ کروا کے ہی دم لیا اور اب آدھے برطانوی رو رہے ہیں۔
تاج محل اور ٹرک کی بتی
کچی عمر کا حسن
رہے گا نہ یہ جاہل کا جاہل!
اور یہ سپین میں کیا ہو رہا ہے؟ کاتالونیا میں ملک سے علیحدگی کے سوال پر ریفرنڈم کے نتائج سامنے آنے کے بعد چھتر پھیرنے کا کیا فائدہ؟ ان سے پہلے ہی سختی سے نمٹنا چاہیے تھا۔ لیکن اب بھی وقت ہے۔ سری لنکا، بھارت، پاکستان، ترکی، اسرائیل یا روس وغیرہ کی مشاورت و چھترولی مہارت کاتالونیا کو قابو میں رکھنے کے لیے استعمال کرنے میں کوئی حرج نہیں۔ بعض اوقات ڈاکٹر بدلنے سے بھی افاقہ ہو جاتا ہے۔
سب سے زیادہ ہنسی جاپان پر آتی ہے۔ کوئی ان بے وقوفوں کو بتانے والا نہیں کہ انتخابی عمل ٹشو پیپر نہیں ہوتا کہ جب چاہا استعمال کر لیا۔ دوسری عالمی جنگ کے دوران جاپانیوں نے چلتی لڑائی میں سات اور جنگِ عظیم کے خاتمے سے اب تک 35 وزیرِ اعظم بدلے۔ ان میں سے موجودہ وزیرِ اعظم شنزو آبے سمیت بس پانچ ایسے ہیں جنھوں نے اپنی مدتِ اقتدار مکمل کی۔ لگتا ہے جاپانی زبان میں یہ جملہ ہے ہی نہیں 'مجھے کیوں نکالا‘۔
حالانکہ 11 سابق جاپانی وزرائےاعظم آج بھی زندہ ہیں۔ ملک آج بھی تیسری بڑی اقتصادی سپر پاور ہے۔ پر شوقِ انتخابات بچپنے کی حد تک جواں ہے۔
اب پچھلے سات برس سے اچھے بھلے حکومت چلانے والے شنزو آبے کو اچانک تیسری بار درمیانی مدت کے انتخابات جیتنے کا شوق چرایا ہے اور بہانہ یہ تراشا کہ شمالی کوریا سے لاحق حظرے سے نمٹنے کے لیے نیا مینڈیٹ لینا ضروری ہے۔
پیرانِ سیاست کے پیر
بڑے ہو کے کیا بنو گے؟
گلاب جامن اور سانولی لڑکیاں
ہاں بھئی یہ مٹھی بھر ممالک ایسی پیٹ بھرے کی عیاشیاں کر سکتے ہیں کیونکہ ان کے ہاں انتخابات کے ساتھ صاف و شفاف کا لاحقہ لگانے کا رواج نہیں۔ یہ فقرے بھی سننے کو نہیں ملتے کہ حکومت خیرات میں نہیں عوام کے ووٹوں سے ملی ہے لہذا ہر حال میں مدتِ اقتدار پوری کرے گی۔ ان پیٹ بھرے جمہوری ممالک میں استعفیٰ بھی بہانے بہانے دیا جاتا ہے، لیا نہیں جاتا کیونکہ اہلِ سیاست کو یہ خوف نہیں ہوتا کہ اگلی بار اقتدار کا منہ دیکھنا نصیب ہوگا بھی کہ نہیں۔ اسی لیے ان کے ہاں حکومتیں بالک ہٹ پر اڑنے کے بجائے خود ہی ہٹ جاتی ہیں ہٹائی نہیں جاتیں۔
یقیناً ان مٹھی بھر جمہوری ممالک میں بھی جوڑ توڑ، مار کٹائی اور سازشیں ہوتی ہیں مگر پارلیمنٹ کے اندر ہی اندر۔ ان کی ڈکشنریوں میں بھی اسٹیبلشمنٹ کی اصطلاح ہے مگر مراد بادشاہ گر ٹولہ نہیں بلکہ ماتحت بیورو کریسی ہے۔
ان کے ہاں بھی فوج ہے مگر عام آدمی اپنے انتخابی حلقے سے ہارنے یا جیتنے والے کا تو نام جانتا ہے فوج کے سربراہ کا نام نہیں جانتا۔ ان کے ہاں بھی اعلیٰ عدالتیں اور اعلیٰ جج ہیں مگر صرف وکیل برادری ہی ان کے ناموں سے واقف ہوتی ہے۔ اسی لیے ان ممالک کا میڈیا انتہائی بور اور تھکا ہوا ہے۔
ایسے بے نمک ماحول میں شنزو آبے کی جگہ شیدا مکینک بھی ہوتا تو مڈٹرم الیکشن جیت لیتا۔ پر یہ کیسی ابلی ہوئی جمہوریت ہے؟ نہ دھرنا، نہ سازش، نہ عدالتی کارروائیوں کی پل پل مصالحے دار خبریں، نہ ایک دوسرے  کے طفلی، خاندانی، اخلاقی راز اور لغتِ دشنام بھرے بازار میں کھولنا۔۔۔
نہ طلال، نہ فواد، نہ نثار، نہ آئی ایس پی آر، نہ اپنے اپنے آئینی دائرے یا ریاستی رٹ کی بحث، نہ اپنی یا غیر ایجنسیوں کی کارستانیوں کا تذکرہ۔ حتیٰ کہ 'ایک صفحے پر ہونے' کی اصطلاح تک نہیں۔ تو پھر لوکی کی جمہوریت؟ بے ذائقہ، بے رنگ، بے بو ۔۔۔
ایسی جمہوریت تو ہمارے ہاں ہر قبرستان میں ہوتی ہے۔ تف ہے۔۔۔
title: ’پاکستان واقعی ایک حیران کن ملک ہے‘
امریکی شہری کیسنڈرا ڈی پیکول تن تنہا دنیا کے سفر پر ہیں اور 190 ممالک کا سفر طے کرنے بعد وہ پاکستان پہنچی ہیں اور ان کا کہنا ہے کہ 'پاکستان ایک چھپا ہوا جوہر ہے جس کی خوبصورتی تاحال دنیا کے سامنے نہیں آسکی‘۔
27 سالہ امریکی خاتون کیسنڈرا ڈی پیکول نے 15 جولائی 2015 کو دنیا کے تمام 196 خودمختار ممالک دیکھنے کے لیے اپنے سفر کا آغاز کیا تھا۔
ان کا پہلا پڑاؤ مغربی بحرالکاہل کے ایک چھوٹے سے ملک پلاؤ میں ہوا اور ان کا سفر مسلسل جاری رہا اور 190 ممالک کا سفر کرنے کے بعد وہ پاکستان پہنچیں۔
ان کا مقصد کم از کم وقت میں تمام ممالک کا سفر کرکے گینس بک آف ورلڈ ریکارڈ میں اپنا نام شامل کرنا اور دنیا کو  سیاحت کے لیے پرامن اور اس شعبے کو مستحکم بنانے کا پیغام دینا ہے۔
اسلام آباد میں بی بی سی اردو سے بات کرتے ہوئے ان کا کہنا تھا کہ 'پاکستان آنے سے قبل ان کے کچھ خدشات تھے جو اب دور ہوچکے ہیں اور وہ دوبارہ یہاں آنا چاہیں گی۔'
'دنیا کے 190 ممالک گھومنے کے بعد میں کہہ سکتی ہوں کہ جن تین ممالک نے مجھے سب سے زیادہ متاثر کیا ان پاکستان، اومان اور بھوٹان سرفہرست ہیں۔'
کیسنڈرا  کا کہنا تھا کہ انھوں نے نومنتخب امریکی صدر ڈونلڈ ٹرمپ کا پاکستان کے حوالے سے حالیہ بیان نہیں سنا لیکن ان کا ذاتی تجربہ ہے کہ 'پاکستان واقعی ایک حیران کن ملک ہے مجھے اندازہ نہیں تھا کہ یہاں کے لوگ اور یہاں کی ثقافت انتہائی خوبصورت ہے۔'
کیسنڈرا ڈی پیکول کا کہنا ہے کہ ان کا مقصد تمام دنیا میں امن کا پیغام پہنچانا ہے۔ وہ ایک مسافر بھی ہیں اور سیاحت و سفر کے حوالے سے نوجوانوں کو تربیت اور رہنمائی بھی فراہم کرتی ہیں۔
وہ کہتی ہیں کہ 'پاکستان آنے سے پہلے میں نے اس ملک کے بارے میں بہت کچھ پڑھا اور تحقیق کی لیکن جو کچھ میڈیا دکھاتا ہے پاکستان اس کے بالکل برعکس ہے۔'
ان کا کہنا تھا کہ 'میں نے اپنا برقع اور عبایا بھی ساتھ رکھا ہوا تھا کہ پاکستان میں اس کی ضرورت ہوگی لیکن ابھی تک اس کی ضرورت پیش نہیں ہے۔'
پاکستانی خواتین کے بارے میں ان کا کہنا تھا کہ 'پاکستان میں قیام کے دوران میں بہت سی نوجوان خواتین سے ملی اور مجھے ان کی قابلیت اور اعتماد دیکھ کر بہت اچھا محسوس ہوا۔'
کیسنڈرا  نے اس خواہش کا اظہار کیا کہ پاکستان کی شمالی علاقہ جات اور چھوٹے شہروں اور قصبوں کو دیکھنا چاہتی ہیں لیکن اس بار یہ ممکن نہیں ہو سکا۔ ان کا کہنا تھا کہ وہ بہت جلد پاکستان دوبارہ آئیں گی اور اپنی یہ تمنا پوری کریں گی۔
پاکستان میں ان کا قیام  کراچی، لاہور اور پھر اسلام آباد میں رہا جہاں یونیورسٹی اور کالجوں کے طالب علموں کے ساتھ انھوں نے مختلف مذاکروں میں حصہ لیا اور انھیں بتایا کہ کیسے اپنے ملک کو اچھے انداز میں پیش کیا جاسکتا اور ایک کامیاب سیاحتی لکھاری بننے کے لیے کیا کچھ کیا جاسکتا ہے۔
ان کا کہنا تھا کہ انھوں نے انڈیا کا بھی سفر کیا ہے اور انھوں نے پاکستان کو انڈیا کی ثقافت، رنگ اور انداز زندگی کو بہت مخلتف پایا۔
انھوں نے بتایا کہ بلاشبہ سیاحت ایک مہنگا شعبہ ہے لیکن آپ پیسے بچاتے ہوئے بھی کئی نئی جگہوں کی سیر کرسکتے ہیں۔
'ایسا نہیں ہے کہ آپ جہاں جائیں بڑے بڑے ہوٹلوں میں رہیں یا پرآسائش گاڑیوں میں سفر کریں۔ آپ ضرورت کے مطابق کسی کم قیمت جگہ پر قیام کر سکتے، وہی کھا سکتے ہیں جو وہاں عام لوگ کھاتے ہیں، ویسے ہی سفر کر سکتے ہیں جیسے مقامی عام لوگ کرتے ہیں۔'
اپنے تجربات بیان کرتے ہوئے ان کا کہنا تھا کہ انھوں نے تقریبا 25 ممالک کا دورہ صرف 2000 ڈالر میں کیا۔ اس دوران وہ ٹرین سٹیشنوں پر سوئیں، بغیر کھائے پیے رہیں اور 'ہچ ہائیکنگ' کرتی ہوئی مشرق وسطیٰ، افریقہ، جنوبی امریکہ اور ایشیا میں گھومیں۔
ان کا کہنا تھا کہ سوشل میڈیا کے ذریعے اب نوجوان بلاگروں اور سیاحت کے حوالے سے لکھنے والوں کے لیے بہت سے دروازے کھل گئے ہیں جن کا بھرپور استعمال کیا جا سکتا ہے۔
کیسنڈرا کا کہنا تھا کہ ان کا اگلی منزل افریقی ملک ارٹیریا ہے اور وہ جلد جنگ زدہ یمن کے سفر پر ہوں گی۔
.
.
.
etc.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM