python - BeautifulSoup 抓取新闻文章

标签 python html pandas beautifulsoup web-crawler

我对如何提取每篇文章的内容感到困惑..请你们帮我继续我的代码..

这就是我所拥有的:

import pandas as pd
import requests
from bs4 import BeautifulSoup

for i in range(1,11):
    link = requests.get("https://turnbackhoax.id/page/{}".format(i))
    soup = BeautifulSoup(link.text, "html.parser")
    container = soup.select('div#main-content.mh-loop.mh-content') 

    titles = []
    contents = []

    for data in container:
        if data.select('h3.entry-title.mh-loop-title') is not None:
            title = data.h3.a.text
            titles.append(title)

非常感谢您的帮助^^

最佳答案

使用以下CSS选择器获取网页的titlecontent并加载到dataframe中。

代码:

import pandas as pd
import requests
from bs4 import BeautifulSoup

titles = []
contents = []
for i in range(1,11):
    link = requests.get("https://turnbackhoax.id/page/{}".format(i))
    soup = BeautifulSoup(link.text, "html.parser")
    for title , content in zip(soup.select('.mh-loop-content h3>a'),soup.select('.mh-excerpt>p')):
        titles.append(title.text.strip())
        contents.append(content.text.strip())
df = pd.DataFrame({"Title":titles,"Content":contents})
print(df)

输出:

                                               Content                                              Title
0    Sebuah akun facebook bernama Naliya Safitry Az...     [SALAH] “Gue Tunggu Cebong di Grup Ini Coment”
1    Bukan 40 ribu tapi sekitar 5.000 pekerja tamu ...  [SALAH] “ada 40 ribu tenaga kerja asal china d...
2    Sebuah akun Facebook @KazahraTanzania mengungg...  [SALAH] Rumah Sakit Kanusojo Balikpapan Telah ...
3    Berita bahwa sejumlah warga Cina melempar kuci...  [BERITA] Warga Cina Lempar Kucing dan Anjingny...
4    Kepala Subdirektorat Penyakit Infeksi Emerging...  [SALAH] Virus Corona Dapat Menular Melalui Tat...
5    Periksa fakta dilakukan oleh Anissa Antania Ha...  [SALAH] Pedagang Cina Ngamuk Karena Jeruk Tida...
6    Hoaks daur ulang, modifikasi dari hoaks pesan ...  [SALAH] “Virus Corona masuk makanan kalengan C...
7    Direktur RS H.M. Rabain Muara Enim membantah d...  [SALAH] “Hati-hati untuk wilayah Tanjung Enim,...
8    TIDAK hanya menyemprotkan antiseptik. Selain d...           [SALAH] “Mereka menyebutnya disinfeksi?”
9    NOT just sprayed by antiseptic. Besides of 14 ...               [FALSE] “They call it disinfection?”
10   Ramai di media sosial sebuah postingan berupa ...  [SALAH] Dettol Antiseptik Disebut Dapat Membun...
11   Melalui media sosial Facebook dan pesan berant...  [SALAH] Pasien Positif Corona Dirawat di Rumah...
12   Video berita simulasi yang disunting dan hanya...  [SALAH] Video “5 Pasien Suspect Infeksi Virus ...
13   Judul dan isi artikel tidak nyambung dengan fo...  [SALAH] Foto “China Dilaporkan Diam-diam Krema...
14   BUKAN di Cuba, video yang dibagikan adalah vid...  [SALAH] Video di Cuitan “Gempa dan Tsunami di ...
15   “Apa saja gejala yang disebabkan oleh virus da...  [EDUKASI] “Apa itu coronavirus dan seberapa kh...
16   Yang diteriakkan adalah “Wuhan Jiayou!”, BUKAN...  [SALAH] “Wuhan China Orang² berteriak gak karuan”
17   Informasi mengenai Passing Grade Universitas I...        [SALAH] Passing Grade Universitas Indonesia
18   Tidak ada media arus utama yang mengangkat ber...  [SALAH] Nadiem Makarim Bayar 6 Triliun Rupiah ...
19   Gadis asal Malaysia yang meninggal dalam video...  [SALAH] Virus Corona Sudah Sampai di Shah Alam...
20   Tidak ditemukan pernyataan Presiden Xi Jinping...  [SALAH] Presiden China Mengumumkan Virus Coron...
21   Bukan pasar di Wuhan, video itu direkam di Pas...  [SALAH] Video “EXPLORE Pasar Wuhan – Virus Cor...
22   Beredar sebuah surat yang mengatasnamakan Peng...  [SALAH] Surat Ajakan Debat Terbuka Yang Diadak...
23   Pelintiran daur ulang. Foto yang dibagikan ada...           [SALAH] “Info orang hilang Ciri2 wapres”
24   Tidak ada pasien suspect virus Corona di Kabup...  [SALAH] “Corona virus sudah ada di RS. Bhayang...
25   Pelintiran daur ulang. BUKAN mengenai TKA, fak...  [SALAH] Narasi TKA di Video Demo PT IMIP Morowali
26   Kementerian Kesehatan menyatakan tidak pernah ...  [SALAH] “Pemberitahuan Kementerian Kesehatan: ...
27   Pelintiran daur ulang. Foto yang dibagikan ada...           [SALAH] “MEREKA JUGA MEMAKAN JANIN BAYI”
28   Video proses pembangunan Gedung “Mini Sky City...  [SALAH] “CHINA Baru Saja Bangun Rumah Sakit 57...
29   Bukan sabotase. Penimbunan dengan karung pasir...  [SALAH] “Sabotase sepanjang Jalan Kramat Raya,...
..                                                 ...                                                ...
170  Aa Gym melalui media sosial resmi Instagram mi...  [KLARIFIKASI] Aa Gym Angkat Bicara Terkait Bro...
171  Beredar sebuah pesan berantai yang mengatasnam...  [SALAH] Informasi 12 Tempat Rawan Begal Di Sur...
172  Tidak ada satupun informasi yang membuktikan M...  [SALAH] “MENHAN PRABOWO meminta Pada MENHAN CH...
173  Foto hasil suntingan. Foto kedua pemain sepakb...  [SALAH] Foto “mata Cristiano Ronaldo dan Zlata...
174  Bukan Rp688 miliar, tapi Rp688 juta. Sekretari...  [SALAH] “DKI Kucurkan Rp688 Miliar Tebus Ijaza...
175  Hoaks lama beredar kembali karena Din Syamsudi...  [SALAH] “Ini sumbernya Din Syamsudin, Presiden...
176  Happened in Kuwait. NOT an attempted assasinat...  [FALSE] “Attempted assassination of a Saudi pr...
177  Peristiwa di Kuwait, BUKAN upaya pembunuhan me...     [SALAH] “Upaya pembunuhan pangeran Arab Saudi”
178  Tidak ada bukti yang menyebutkan keterkaitan H...  [SALAH] “Legenda Hello Kitty berasal dari gadi...
179  Kedua foto tidak berhubungan. Foto wanita meng...  [SALAH] Foto “Fatimah Aynur, Muslimah cantik U...
180  Beredar Surat Keputusan Bersama yang mengatasn...  [SALAH] Surat Berisi Cuti Libur Natal Tanggal ...
181  Isu Menteri Pertahanan (Menhan) Prabowo Subian...  [SALAH] Menhan Prabowo Ditekan Untuk Beli Pesa...
182  Pelintiran daur ulang. Hasil suntingan foto ba...                   [SALAH] “All Jakarta Water Park”
183  Hoaks lama beredar kembali. Pada tahun 2016 Ba...  [SALAH] Video “Kerupuk dan Crispy Crackers mud...
184  Tidak ada satupun foto yang diunggah oleh sumb...  [KLARIFIKASI] Penjelasan terkait foto-foto yan...
185  Yang beredar adalah versi zoom/crop. Tidak ada...        [KLARIFIKASI] Pesan Berantai Foto Tol Japek
186  Vice President Corporat Communication and CSR ...  [KLARIFIKASI] PLN Bantah Meminta Uang untuk Pe...
187  Bukan pembukaan gereja Katolik. Peristiwa di v...  [SALAH] Video “Pembukaan Gereja Katolik di Ara...
188  Bukan sandiwara. HA (30), pelaku persekusi sud...  [SALAH] “Sandiwara Dagelan koplax, di perskusi...
189  Hukuman pancung tersebut bukan diberlakukan un...  [SALAH] Judul artikel “Habib Rizieq Terancam H...
190  Melalui media sosial Facebook, beredar informa...  [SALAH] Bawang Merah Mampu Tangkal Racun Ular ...
191  Mesut Ozil tidak menyinggung soal Indonesia at...  [SALAH] Mesut Ozil Sindir Indonesia dan Wapres...
192  Informasi seputar kesehatan yang tidak mempuny...       [SALAH] Parutan Kelapa Bisa Sebabkan Kremian
193  Pelintiran daur ulang tahun 2018. Disebabkan o...  [SALAH] Cacing Berkembang di Mata Karena Mengu...
194  Foto kedua adalah foto Sungai Citarum yang sec...  [SALAH] “Inilah perubahan besar yg telah dilak...
195  Beredar kembali sebuah video yang diklaim bahw...  [SALAH] Video Garam Dapur Yang Mengandung Serp...
196  Pesan berantai yang beredar bukan berasal dari...           [SALAH] Air Nanas Panas Sembuhkan Kanker
197  Atas munculnya kabar yang menyebutkan adanya p...  [BERITA] Kemenpan RB: Tidak Ada Pengangkatan C...
198  Juru Bicara Kepala BIN, Wawan Hari Purwanto me...  [SALAH] Dirut Garuda, Ari Askhara adalah Anggo...
199  Pria di foto itu adalah Jeremy Meeks dan bukan...  [SALAH] “SEBELUM DI SETRUM MATI, PERMINTAAN PR...

[200 rows x 2 columns]

关于python - BeautifulSoup 抓取新闻文章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60065910/

相关文章:

python - 比较多维列表范围的最快方法

2 的幂的 python itertools 排列太慢

javascript - 如何在 JS 文件上使用不同版本的 JQuery?

python-2.7 - Pandas to_csv 编码较慢?

python - Pandas,根据条件复制行

python - python 2.7 中的 pickle.dump 不保存类变量字典

html - 在 HTML 和 CSS 中显示相邻列表

javascript - 执行 PHP "action=add"命令然后跳转到另一个页面

python - 如何在目录中的所有 csvs 文件中执行 python 关键字搜索和单词计数器并写入单个 csv?

python - 如何合并列表列表