İstekler - İstekleri Kullanarak Web Kazıma
Python istek kitaplığını kullanarak belirli bir URL'den nasıl veri alabileceğimizi zaten görmüştük. Verileri şu siteden atmaya çalışacağız:Tutorialspoint hangisi mevcuttur https://www.tutorialspoint.com/tutorialslibrary.htm aşağıdakileri kullanarak -
- İstek Kitaplığı
- Python'dan güzel çorba kütüphanesi
Requests kütüphanesini zaten kurduk, şimdi Güzel çorba paketini kuralım. İşte resmi web sitesibeautiful soup mevcut https://www.crummy.com/software/BeautifulSoup/bs4/doc/ güzel çorbanın daha fazla işlevini keşfetmek istemeniz durumunda.
Beautifulsoup Kurulumu
Beautiful Soup'un nasıl kurulacağını aşağıda göreceğiz -
E:\prequests>pip install beautifulsoup4
Collecting beautifulsoup4
Downloading https://files.pythonhosted.org/packages/3b/c8/a55eb6ea11cd7e5ac4ba
cdf92bac4693b90d3ba79268be16527555e186f0/beautifulsoup4-4.8.1-py3-none-any.whl
(
101kB)
|████████████████████████████████| 102kB 22kB/s
Collecting soupsieve>=1.2 (from beautifulsoup4)
Downloading https://files.pythonhosted.org/packages/81/94/03c0f04471fc245d08d0
a99f7946ac228ca98da4fa75796c507f61e688c2/soupsieve-1.9.5-py2.py3-none-any.whl
Installing collected packages: soupsieve, beautifulsoup4
Successfully installed beautifulsoup4-4.8.1 soupsieve-1.9.5
Artık python istekleri kitaplığımız ve güzel çorbamız var.
Şimdi veriyi verilen URL'den ayıracak kodu yazalım.
Web kazıma
import requests
from bs4 import BeautifulSoup
res = requests.get('https://www.tutorialspoint.com/tutorialslibrary.htm')
print("The status code is ", res.status_code)
print("\n")
soup_data = BeautifulSoup(res.text, 'html.parser')
print(soup_data.title)
print("\n")
print(soup_data.find_all('h4'))
İstek kitaplığını kullanarak, içeriği verilen URL'den alabiliriz ve güzel çorba kitaplığı, onu ayrıştırmaya ve istediğimiz şekilde ayrıntıları getirmeye yardımcı olur.
Html etiketi, sınıf, kimlik, css seçici ve daha birçok yolu kullanarak verileri almak için güzel bir çorba kitaplığı kullanabilirsiniz. Aşağıdakiler, sayfanın başlığını ve ayrıca sayfadaki tüm h4 etiketlerini yazdırdığımız çıktıdır.
Çıktı
E:\prequests>python makeRequest.py
The status code is 200
<title>Free Online Tutorials and Courses</title>
[<h4>Academic</h4>, <h4>Computer Science</h4>, <h4>Digital Marketing</h4>,
<h4>Monuments</h4>,<h4>Machine Learning</h4>, <h4>Mathematics</h4>,
<h4>Mobile Development</h4>,<h4>SAP</h4>,
<h4>Software Quality</h4>, <h4>Big Data & Analytics</h4>,
<h4>Databases</h4>, <h4>Engineering Tutorials</h4>,
<h4>Mainframe Development</h4>,
<h4>Microsoft Technologies</h4>, <h4>Java Technologies</h4>,
<h4>XML Technologies</h4>, <h4>Python Technologies</h4>, <h4>Sports</h4>,
<h4>Computer Programming</h4>,<h4>DevOps</h4>, <h4>Latest Technologies</h4>,
<h4>Telecom</h4>, <h4>Exams Syllabus</h4>,
<h4>UPSC IAS Exams</h4>,
<h4>Web Development</h4>,
<h4>Scripts</h4>, <h4>Management</h4>,<h4>Soft Skills</h4>,
<h4>Selected Reading</h4>, <h4>Misc</h4>]