Listede Yazan Birşey Varsa O Elemanı Nasıl Silebilirim ?

Yok Hata Vermiyor Zaten Dostum Tıkır Tıkır Çalışıyor Fakat Siteyi Bana Bu Şekilde Veriyor;
http://www.deneme.com/3Fid%3D10&sa=U&ved=0ahUKEwiCteL32OvYAhUDFCwKHcSiCikQFgg8MAg&usg=AOvVaw2Z_x56rRJQJ86f2yD-FnvE

Fakat Böyle Verince Ben İstediğim Şeye Ulaşamıyorum bana Bunu index.php?id= Gibi Vermesi Lazım… Acaba İlk Siteyi Açıp Sonra Alsak Siteyi Nasıl Olur…

Dork giriniz kısmına matematik dedim.
Sonra cıkan linklerden birini secip kopyaladim ve google arama bolumune yapistirdim.

http://www.testlericoz.com/testler/6-sinif-matematik&sa=U&ved=0ahUKEwiH56Ty2OvYAhVCzKQKHdg3D-sQFggoMAQ&usg=AOvVaw0T60PK2p9dufs4cdqYhRDH

Dedim sayfaya gıdıyordu.Kusura bakmayın tekrardan hata yapiyorsam uyarin.

Tamam ben de bakayım bulabilirsem anlatayım.

Evet Sayfaya Gidiyor Fakat Farkındaysanız Hata Veriyor.
Fakat
6. Sınıf Matematik Testleri Çöz - Yeni Sorular Buraya Kadar Silince Hata Ortadan Kalkıyor Yani Bana 6. Sınıf Matematik Testleri Çöz - Yeni Sorular Buraya Kadar Vermesi Lazım…

Anladim bir bakayım.Cozum buldugumda sana bildiririm.İsim cikti.Kusura bakma lutfen.

Su linke bakabilir misiniz acaba?Belki isinize yarar.Bu modulu termux dan kurmayı basardim ama ne hikmetse import edemiyorum.İmport etseydi sana daha iyi bir cevap verebilirdim belki.Baska yollar da arastıracagim.Buldugumda onu da bildiririm.

Maalesef Python 2.7 Sanırım…

Telefonda

from google import search

yerine

from googlesearch import search 

deyince import edebildim.

Buradaki dediginizi anlayamadim kusura bakmayin tekrardan.Dedigim gibi baska bir sey bulursam onu da burada paylasırım.

Dostum Ben Python 3.6 İle Yazmaya Çalışıyorum Fakat Bu 2.7 De Çalışıyor Yani Derdime Deva Değil…

Asagidaki cozum yolunu deneyebilir misiniz acaba?

import requests 
import re 
from bs4 import BeautifulSoup 

kelime=str(input("Aranacak Dorku Giriniz: ")) 

r = requests.get("https://www.google.com.tr//search?q=" + kelime) 
soup = BeautifulSoup(r.content,"html.parser") 

yeniliste = [] 
sayi = 0 

while sayi < 1: 
    re_compile = re.compile("http://") 
    durdurmak = 0
    for link in soup.findAll("a",attrs = {"href":re_compile}):
        if durdurmak == 0:
            durdurmak = 1
            continue 
        if not "webcache" in link.get('href'): 
            link = link.get("href").strip("/url?q=") # Buradaki strip metoduna dikkat edin.
            list_link = list(link)
            
            true_link = []
            for i in list_link:
                sayac = int(list_link.index(i))
                a = list_link[sayac]
                b = list_link[sayac + 1]
                c = list_link[sayac + 2]
                if a + b + c == "&sa":
                    break
                else:
                    true_link.extend(i)
            link = ""
            link = link.join(true_link)
            print(link)
            print('----------------') 
    
    sayi += 1

Yine de bunun cozum oldugunu dusunmuyorum ya neyse😁.

Tam İstediğim Gibi Oldu Fakat Mantığını Anlatırmısın Dostum Merak Ettim

Anlatayim soyle ki

import requests 
import re 
from bs4 import BeautifulSoup 

kelime=str(input("Aranacak Dorku Giriniz: ")) 

r = requests.get("https://www.google.com.tr//search?q=" + kelime) 
soup = BeautifulSoup(r.content,"html.parser") 

yeniliste = [] 
sayi = 0 

while sayi < 1: 
    re_compile = re.compile("http://") 
    durdurmak = 0    #burada durdurmak adli degisken atadim cunku aratmamiz sonucunda ilk cikan dork bos olacagi icin bana liste indexinin disinda hatasi veriyordu.
                                 #ileriki safhaya gecince daha iyi anlarsiniz.
    for link in soup.findAll("a",attrs = {"href":re_compile}):
        if durdurmak == 0:
            durdurmak = 1 #iste burada durdurmak degiskenini kullaniyorum.ilk andaki hatayi onlemek icin.kisaca burada programa diyorum ki:"eger ilk dork gelirse bunu es gec.
            continue 
        if not "webcache" in link.get('href'):     #burada eger bu linkde webcahche gecmiyorsa kabul et diyorum programa.
            link = link.get("href").strip("/url?q=") # Buradaki strip metoduna dikkat edin.#burada ismail bey "/url?q" bâbini halletti isin
            list_link = list(link) #bize sorun teskil eden birsey daha vardi.sondaki randoma benzer ifadeleri atmam lazimdi.Bu linki liste tipine donusturmek ,icindeki karakterleri daha kolay secebilmek amacliydi.ilerde gorecegiz ne ise yaradigini.
            
            true_link = []    #linkin en sade hallerini bir yere almaliydim.adi ustunde gercek_link(
            for i in list_link:   # simdi asil ise basliyoruz.Burada linkimizdeki her harfe bakabilmek icin bir for dongusu kurdum.
                sayac = int(list_link.index(i))#her gelen harf icin onun linkimizdeki yerini belirliyorum.Bak izle simdi.gerisi corap sokugu gibi geliyor.bu arada index metotu karakter dizisi verdigi icin bunu sayiya ceviriyorum.   
                a = list_link[sayac]   #zaten o linkteki aldigimiz i adli karakter
                b = list_link[sayac + 1] # bu i karakterinden sonra gelen ilk iki karakteri de boylece bulup a,b,c adli degiskenlere atiyoruz.
                c = list_link[sayac + 2]
                if a + b + c == "&sa":   #iste burada olay kopuyor.Burada ben programa diyorum ki:eger a =='&' and b == 's' and c == 'a' ise direk donguyu bitir ki bu '&sa'karakteri ve sonraki bolumu sadelestirilmis linke giremesin.
                    break
                else:
                    true_link.extend(i)  #eger a == '&' and b == 's' and c == 'a' degilse sen sadelestirilmis linki olusturmaya devam et.Cunku daha isin bitmedi.Sadelestirilmis link daha olusturulamadi.Senin gorevin sadelestirilmis linki guzel bir sekilde olusturmaktir.
            link = "" #bundan sonra asil linkleri true_link adli listeye depolamis olduk.Eger direkt ekrana bastirmak istiyorsan benimki gibi yap.
            link = link.join(true_link)
            print(link)
            print('----------------') 
    
    sayi += 1

Anlatimda anlasilmaz bir yer olursa hemen sor.Elimden geldigince cevaplamaya calisirim.(pek de iyi anlatim yaptigim soylenemez ama)(bu arada bu gonderdigim mesajda anlasilmaz yerleri duzeltmeye calisacagim.Bu arada hakikaten cok tesekkur ederim.Bana yeni seyler ogrettiniz ve ileride ogreneceklerim konusunda isimi kolaylastirdiniz.
Bi de benim anlamadigim nokta neden dork a python deyince link cikmiyor ki?(ayni sey dataclasses da da oldu.)
Yemek tarifleri diyorum cikiyor
Mevlana diyorum cikiyor.

Çok Sağol Dostum Çok Güzel Anlatmışsın Teşekkür Ederim :slight_smile:

1 Beğeni

Ama Tek Anlamadığım Nokta
a = list_link[sayac]
b = list_link[sayac + 1]
c = list_link[sayac + 2]

Bura Hocam Nasıl Anlıyor &sa olduğunu çünkü diğer şeyleri deneyince olmuyor ?

BU PROGRAMI YAZMAMIN AMACI:
ELIMDE OLAN
"PythonProgramlama?=Python"
KARAKTER DIZISINDEKi ?=
BOLUMUNU VE ONDAN SONRAKI BOLUMLERI KALDIRMAKTIR

a = "PythonProgramlama?=Python"

a_nin_liste_hali = list(a) # boyle diyerek bir listeye donusturdum.
                 #devam edelim.
istedigimiz_bolum = []
for i in a_nin_liste_hali:
    ilk_harf_konumu = int(a_nin_liste_hali.index(i))
#burada i harfinin kacinci sirada oldugunu buldum.
    ilk_harf = a_nin_liste_hali[ilk_harf]
    ikinci_harf = a_nin_liste_hali[ilk_harf + 1]
    if ilk_harf + ikinci_harf == "?=": #burada ilk karakteri "?",ikinci karakteri "=" olan bi bolum var mi yok mu?Iste burada ona bakiyorum.Kisaca "?="bolumunu ariyorum.
        break
    else:
        istedigimiz_bolum.extend(i)

asil_bolum = ""
asil_bolum = asil_bolum.join(istedigimiz_bolum)
print(asil_bolum)

Yukarida yaptigim da benzer mantik.Kusura bakma guzel anlatamadigimi hissediyorum.Sorun olursa cevaplamaya calisirim.

Şimdi Anladım Sanırım… Yani Kısacası

Tek Tek Karakter Dizisi Olarak Oluşturuyoruz Listeyi Ve O Listede Arka Arkada ?= Harf Dizileri Geliyorsa Programı Durduruyoruz Ve Listeye Ekliyoruz. Doğru mu Hocam ?

Yani elimizde olan karakter dizisindeki karakterleri sirasiyla liste ye atiyorum.Kisaca “a” bir karakter dizisi ise ben bunu list(a) diyerek bu amacimi gerceklestiriyorum.
Sonra dediginiz gibi arka arkaya gelen harfler benim bolmek istedigim yerse hic acimadan for dongusunu o anda kesiyorum ki bu karakter dizisini oracikta bolup istedigimi elde edeyim.

Aynen oyle dediginiz gibi

Bu noktaya da dikkat etmenizi oneririm.Dikkatli olun!

Bi saniye bir sorun olustu.

http://www.google.com.tr/aclk?sa=l&ai=DChcSEwit2ubanOzYAhUQExsKHVtvBwAYABAAGgJ3bA&sig=AOD64_2K46i8pjMEWM0GxqN1AF1dYPxBMw&ved=0ahUKEwiCs-PanOzYAhXJJ-wKHWoPA8sQ0QwIEg&ad

linkini ayiklamiyor.Cunku boyle bir islevi yapmakta yetersiz program.Bir bakayim.