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

beautiful-soup
python

#21

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 ?


#22

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.


#23

Ş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 ?


#24

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.


#25

Aynen oyle dediginiz gibi


#26

Bu noktaya da dikkat etmenizi oneririm.Dikkatli olun!


#27

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.


#28

Bir sey soracagim ona gore programi duzenleyecem.
asil linkimizin sonu illa
&sa
ile bitmek zorunda degilmis.
acaba linkin gereksiz yeri
"&!?" vb karakteri harf olmayan seylerle mi basliyor onu bi ogrenmek lazim.Acaba biliyorsaniz soyleyebilir misiniz?Ben de bakayim bu duruma.


#29

Evet Genellikle &'dan Sonra Başlıyor Gereksiz Şeyler… Fakat index.php?id= Diye Arattığında Çokça Sorun Çıkıyor…


#30

Belki de uzantilar uzerinden gitmeliydik galiba @Esat_Yilmaz .Hani com,edu,tr vb gibi internet uzantilari.Bu duruma bakayim ancak
internette olan tum uzantilari bilirsek donguyu kesip istedigimiz linki elde edebiliriz belki.


#31

Haklısın Fakat Uzantıdan Sonraki Bölümü Nasıl Alıcağız ? Yine Aynı İş…


#32

Dork arama kismina mavi dedim birsuru ayni cikti verdi.google in html sayfasini inceleyebilirsem inceleyip durumu bildiririm.belki find_all kisminda yanlis yeri alip duruyoruzdur.Dur bi bakalim.Henuz care tukenmedi😊.


#33

Olabilir :smiley: Bunun İçin Çok Uğraştım…


#34

Dusunuyorum da acaba hem “a” etiketli hem de “b” etiketli taglari nasil alabiliriz ki?Bu ozellige sahip taglari alsam belki cozume bile ulasirim.Ama yontemini bulamiyorum bir turlu.(mesela mavi dorkunu mu ariyoruz.Iste "b"etiketlerinin icinde mavi yaziyor olmasi gerekiyor.Onun icin boyle soyledim.)


#35
import requests 
import re 
from bs4 import BeautifulSoup 

while True:
    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.find_all("a"):
            if not "url" in link.get('href'):
                continue
            if durdurmak == 0:
                durdurmak = 1
                continue 
            if not "webcache" in link.get('href') and not "www.google.com" in link.get('href') and not "/settings/ads/preferences" in link.get('href'):
                link = link.get("href").strip("/url?q=") # Buradaki strip metoduna dikkat edin.
                
                if "index." in link:
                    sayac = int(link.index("index."))
                    link = link[0:sayac]
                    print(link)
                elif "search" in link:
                    sayac = int(link.index("search"))
                    link = link[0:sayac]
                    print(link)
                else:
                    link = list(link)
                    true_link = []
                    for i in link:
                        if i in ["&","?"]:
                            break
                        true_link.extend(i)
                    link = "" 
                    link = "".join(true_link)
                    print(link)
                                       
               
            
                
               
                print('----------------') 
    
        sayi += 1

kusura bakmayin.Tekrardan ugrastim bu isle.Yine de basardim diyemem ama bir yol kateddigimizi zannedebiliriz.Yarin daha detayli ilgilenecegim.Bu kodlarda ufak bir degisiklik dusunuyorum.Bu arada hata buldugunuzda hemen bildirin.Gordugumde bakmaya calisirim😁.Bu is ilgimi daha cok cekmeye basladi.Bu isin sonunu merak ediyorum dogrusu.


#36
import requests 
import re 
from bs4 import BeautifulSoup 

while True:
    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.find_all("a"):
            if not "url" in link.get('href'):
                continue
            if durdurmak == 0:
                durdurmak = 1
                continue 
            if not "webcache" in link.get('href') and not "www.google.com" in link.get('href') and not "/settings/ads/preferences" in link.get('href'):
                link = link.get("href").strip("/url?q=") # Buradaki strip metoduna dikkat edin.
                
                if "index." in link:
                    sayac = int(link.index("index."))
                    link = link[0:sayac]
                    print(link)
                elif "search" in link:
                    sayac = int(link.index("search"))
                    link = link[0:sayac]
                    print(link)
                elif "php%" in link:
                    sayac = int(link.rindex("/"))
                    link = link[0:sayac]
                    print(link)
                else:
                    link = list(link)
                    true_link = []
                    for i in link:
                        if i in ["&","?"]:
                            break
                        true_link.extend(i)
                    link = "" 
                    link = "".join(true_link)
                    print(link)
                                       
               
            
                
               
                print('----------------') 
    
        sayi += 1

Bunu da bir dene.Ustteki linklerle bu kodun linklerini karsilastir.Belki ben bir hata goremeyebilirim.Ama sen gorursen bu durumu daha iyi duuzeltme sansimiz olabilir belki.Aslinda butun hatali durumlari bilebilme sansimiz olsaydi isimiz daha kolay olurdu.(yani index.php,php,&sa gibi link bitim noktalarinin tumunu bilseydik iyi olurdu.)


#37

Kusura bakma yine dile getirecegim bu meseleyi ancak bu google modulunu asagidaki gibi kurarsan python3 de de calisacagini dusunuyorum.Benim termuxda python3 kurulu ve denedim calisiyor bu modul.
Soyle kur bu modulu

pip install --upgrade google-api-python-client

Sonra su sekilde import et

from googlesearch import search

Python 3’de bu modulun calisacagini umuyorum.Bence kullanabilirsen bu modulu kullanmalisin aksi takdirde bilinmeyen bir hata bizim programi altust edebilir.Yani bu is ne bileyim benim senin yazabilecegin kodlarla olmayabilir(adamlar bu konu hakkinda modul yazmislarsa bunda bir hikmet vardir.Isinin uzmani adamlar o kadar ugrasmissa bu isin kolayligini sen dusun istersen😊.)Her zaman bir hatamiz olusacak programda.Sahsen her zaman tereddutte kalacagim attigim kodlarda ona gore.Bu modulu nasil kullanacagini da soyleyebilirim istersen.
NOT:google modulunun calisabilmesi icin beautifulsoup4 un kurulu olmasi gerekmektedir.
Link: https://github.com/google/google-api-python-client/blob/master/README.md


#38

Teyit ettim.Termuxumun surumune baktim.3.6.4
Benim telefonda bile calisiyorsa bilgisayarda nasil calismasin python3 altinda google metodu.Ama yine de baska yollar da arastiririm.(Bir de bu google modulunun kaynak koduna bakmak istedim ama bulamadim ararim ama.:slight_smile:)


#39

Herşey İyi Güzelde Yaptığın Scriptte inurl:index.php?id= Aratılamıyor Mesela. Tekrar Aranacak Dorku Giriniz Diyor… Yani Hatalı…


#40

Ahh Dostum Şuan İkimizede Gülüyorum :smiley:

Bütün Olayı Tamamen Sildim Ve 11 Satırda Hallettim…
import requests
from bs4 import BeautifulSoup

Baglanacagimiz site

url = “https://www.google.com.tr/search?q=inurl:.php?id=

Siteye baglanti kurmak icin istekte bulunuyoruz

sayfa = requests.get(url)
soup = BeautifulSoup(sayfa.content, “html.parser”)
for link in soup.findAll(‘cite’):
print(link.text)

Bu Kodlarla İş Bitiyor :smiley: Ve İstediğimiz Gibi Çalışıyor… Demekki Olay Doğru Tag’ı Bulmakmış…