1. Cara Pertama menggunakan Urllib dan Beautifulsoup
Untuk mengambil data dari sebuah web, kita bisa menggunakan beberapa paket di Python3 diantaranya adalah BeautifulSoup. Apabila sebelumnya belum pernah menggunakan, maka kita harus melakukan instalasi paket dengan menggunakan PIP. Perintah instalasi adalah sebagai berikut ini:
pip install requests
# request digunakan untuk koneksi melalui internet
pip install bs4
# Beautifulsoup berada di dalam paket bs4, Beautifulsoup merupakan pustaka Python untuk menarik data dari file HTML dan XML
pip install urllib
Code language: PHP (php)
Buatlah sebuah program python dan simpan dalam nama crawling_1.py
import bs4 as BeautifulSoup
import urllib.request
fetched_data = urllib.request.urlopen('https://en.wikipedia.org/wiki/20th_century')
article_read = fetched_data.read()
article_parsed = BeautifulSoup.BeautifulSoup(article_read,'html.parser')
#mengambil paragraf
paragraphs = article_parsed.find_all('p')
article_content = ''
#memasukkan sentence kedalam variabel
for p in paragraphs:
article_content += p.text
# Perintah untuk menampilkan hasil
print(article_content)
Code language: PHP (php)
2. Cara Kedua menggunakan request dan Beautifulsoup
Cara kedua adalah menggunakan request dan beautifulsoup
import requests
from bs4 import BeautifulSoup
URL = "https://properti.kompas.com/read/2020/07/27/181833421/ada-kasus-covid-19-butik-christian-dior-di-plaza-senayan-ditutup"
#x = requests.get(URL).text
# atau bisa juga ditulis dengan
#x = requests.get(URL)
#soup = BeautifulSoup(x.text, "lxml")
x = requests.get(URL)
soup = BeautifulSoup(x.content, "lxml")
# mengambil dari class read_content di css atau perhatikan source, pastikan content berada di class yang sesuai
hasil = soup.find_all("div",{'class':'read__content'})
#hasil=preprocess_string(hasil)
#print(hasil)
#hasil = remove_stopwords(hasil)
data=''
for script in soup.find_all('script'):
script.extract()
# membersihkan conten dari sintax html seperti <p> <td>
paragraphs = soup.find_all('p')
article_content = ''
#memasukkan sentence kedalam variabel
for p in paragraphs:
article_content += p.text
# menampilkan artikel
print(article_content)
Code language: PHP (php)
Leave a Reply