Siteden İstediğim Text'i Nasıl Çekebilirim

Başlıktada Belirttiğim Gibi Benim Verdiğim Text’i Nasıl Çektirebilirim Eğer Sitede Varsa…

BeautifulSoup İle Falan Denedim Fakat Sonuç Alamadım Requests İle Falan…

Requests Modülünde .text İle Bütün Yazıları Çekebiliyorum Fakat Bana Sadece İstediğim Text Lazım…

Merhaba.

requests modülü değil de BeautifulSoup bu iş için uygun. BeautifulSoup ile deneme yaparken nerede takıldınız, bunu paylaşırsanız daha hızlı çözüm bulabiliriz diye düşünüyorum.

İyi çalışmalar.

Çok Teşekkür Ederim Fakat Sorunumu Çözdüm Basitmiş Aslında…

sitenin yazılarını requests.text ile çektim ve if “kelime” in requests:
print(“Var”) Şeklinde yaptım Ve Sorun Çözüldü Fakat Merak Ettiğim Şey Bu in Fonksiyonumu Denir Ne Denir Bilmiyorumda Pek Bunu Nerelerde Kullanabiliyoruz Mesela İf koşullarını incelediğimde Hiç Örnek Gösteren Olmamış For Döngüsünü Anlatanda in i Doğru Düzgün Anlatmamış Aslında Çok Önemli Birşeymiş…

Merhaba.

Python’daki in anahtar sözcüğü iki şekilde karşımıza çıkar. İlki, bir nesnenin bir dizinin içinde olup olmadığının anlaşılabilmesini sağlayan in'dir:

>>> 2 in [1, 2, 3]
True
>>> 4 in [1, 2, 3]
False
>>> 'a' in 'abc'
True
>>> 'd' in 'abc'
False

Bu kullanım True ya da False değer döndürdüğü için sizin kullanımınızdaki gibi if ile kullanılabilir.

Diğer kullanım ise for döngüsündeki kullanımıdır. Burada bir dizinin içindeki öğeleri birer birer almak için kullanılır:

>>> for i in [1, 2, 3]:
...     print(i)
...
1
2
3
>>> for harf in 'abc':
...     print(harf)
...
a
b
c

Yani if'teki ve for'daki in'leri karıştırmamalısınız; ikisi farklı işleçlerdir. İki durumda da bu işleç diziye benzeyen diğer veri tipleri ile kullanılabilir. Ancak Python’da hali hazırda var olmayan yani sonradan yazılmış veri tiplerinin bu işlece cevap verebilmesi için veri tipi üstünde bazı şeyler yapmak gerekir, bu biraz karışık olduğu için burada bahsetmiyorum.

İyi çalışmalar.

Scrapy’i deniyebilirsin çok basit ve kullanışlıdır.

from bs4 import BeautifulSoup
import urllib.request
import html5lib

url = "https://eksisozluk.com/"
url_oku = urllib.request.urlopen(url)
soup = BeautifulSoup(url_oku, 'html5lib')

başlık = soup.find_all("ul",("class=","topic-list partial"))
for i in başlık:
    print(i.text)

Ekşi sözlük başlıklarını çeken basit bir kod örneği.

Requests ile veriyi çektikten sonra regex modülü kullanarak (re) istediğiniz kısmı alabilirsiniz.

BeautifulSoup ile uğraşmaya gerek yok.

1 Beğeni

html paketi de kullanılabilir.