Amalan crawler dalam Python: Perangkak Toutiao Today
Dalam era maklumat hari ini, Internet mengandungi sejumlah besar data, dan permintaan untuk menggunakan data ini untuk analisis dan aplikasi semakin tinggi. Sebagai salah satu cara teknikal untuk mencapai pemerolehan data, perangkak juga telah menjadi salah satu bidang penyelidikan yang popular. Artikel ini terutamanya akan memperkenalkan perangkak sebenar dalam Python dan memberi tumpuan kepada cara menggunakan Python untuk menulis program perangkak untuk Toutiao.
Sebelum mula memperkenalkan perangkak sebenar dalam Python, kita perlu terlebih dahulu memahami konsep asas perangkak.
Ringkasnya, perangkak meniru gelagat penyemak imbas melalui kod dan mengambil data yang diperlukan daripada tapak web. Proses khusus ialah:
Apabila membangunkan perangkak Python, terdapat banyak pustaka yang biasa digunakan terdapat beberapa perpustakaan yang lebih biasa digunakan adalah seperti berikut:
Toutiao hari ini ialah tapak web maklumat yang sangat popular, yang mengandungi sejumlah besar berita, hiburan, teknologi dan kandungan maklumat lain. Kita boleh mendapatkan kandungan ini dengan menulis program perangkak Python yang mudah.
Sebelum bermula, anda perlu memasang permintaan dan perpustakaan BeautifulSoup4 terlebih dahulu. Kaedah pemasangan adalah seperti berikut:
pip install requests pip install beautifulsoup4
Dapatkan maklumat halaman utama Toutiao:
Mula-mula kita perlu mendapatkan kod HTML halaman utama Toutiao.
import requests url = "https://www.toutiao.com/" # 发送HTTP GET请求 response = requests.get(url) # 打印响应结果 print(response.text)
Selepas melaksanakan program, anda boleh melihat kod HTML halaman utama Toutiao.
Dapatkan senarai berita:
Seterusnya, kita perlu mengekstrak maklumat senarai berita daripada kod HTML. Kita boleh menggunakan perpustakaan BeautifulSoup untuk menghurai.
import requests from bs4 import BeautifulSoup url = "https://www.toutiao.com/" # 发送HTTP GET请求 response = requests.get(url) # 创建BeautifulSoup对象 soup = BeautifulSoup(response.text, "lxml") # 查找所有class属性为title的div标签,返回一个列表 title_divs = soup.find_all("div", attrs={"class": "title"}) # 遍历列表,输出每个div标签的文本内容和链接地址 for title_div in title_divs: title = title_div.find("a").text.strip() link = "https://www.toutiao.com" + title_div.find("a")["href"] print(title, link)
Selepas melaksanakan program, senarai berita di halaman utama Toutiao akan dikeluarkan, termasuk tajuk dan alamat pautan setiap berita.
Dapatkan butiran berita:
Akhir sekali, kami boleh mendapatkan butiran setiap berita.
import requests from bs4 import BeautifulSoup url = "https://www.toutiao.com/a6931101094905454111/" # 发送HTTP GET请求 response = requests.get(url) # 创建BeautifulSoup对象 soup = BeautifulSoup(response.text, "lxml") # 获取新闻标题 title = soup.find("h1", attrs={"class": "article-title"}).text.strip() # 获取新闻正文 content_list = soup.find("div", attrs={"class": "article-content"}) # 将正文内容转换为一个字符串 content = "".join([str(x) for x in content_list.contents]) # 获取新闻的发布时间 time = soup.find("time").text.strip() # 打印新闻的标题、正文和时间信息 print(title) print(time) print(content)
Selepas melaksanakan program, tajuk, teks dan maklumat masa berita akan dikeluarkan.
Melalui pengenalan artikel ini, kami telah mempelajari tentang konsep asas perangkak dalam Python, perpustakaan yang biasa digunakan dan cara menggunakan Python untuk menulis Toutiao program crawler. Sudah tentu, teknologi crawler ialah teknologi yang memerlukan penambahbaikan dan penambahbaikan berterusan.
Atas ialah kandungan terperinci Pertempuran crawler praktikal dalam Python: crawler Toutiao. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!