Python3 基础爬虫简介
python3 基础爬虫入门心得
第一次写博客,有点紧张,不喜勿喷。
如果有不足之处,希望读者指出,本人一定改正。
学习爬虫之前你需要了解(个人建议,铁头娃可以无视): - **少许网页制作知识,起码要明白什么标签...** - **相关语言基础知识。比如用java做爬虫起码会用Java语言,用python做爬虫起码要会用python语言...** - **一些网络相关知识。比如TCP/IP、cookie之类的知识,明白网页打开的原理。** - **国家法律。知道哪些能爬,哪些不能爬,别瞎爬。**
如标题,本文中所有代码使用python3.6.X。
首先,你需要安装(pip3 install xxxx 一下就OK了)
requests 模块
BeautifulSoup 模块(或lxml 模块)
这两个库功能十分强大,requests用于发送网页请求和打开网页,beautifulsoup和lxml则用于解析内容,提取你想要的东西。BeautifulSoup偏向于正则表达式,lxml则偏向于XPath。因为本人用beautifulsoup库比较习惯,这篇文章主要应用beautifulsoup库,lxml不做过多赘诉。(用之前建议先看文档)
爬虫的主要结构:
管理器:管理你要爬取的地址。
下载器:把网页信息下载下来。
筛选器:从下载到的网页信息中筛选出你所需要的内容。
储存器:把下载到的东西存你想存的地方。(根据实际情况,可有可无。)
在我所接触到的所有的网络爬虫基本都逃不出这个结构,大到sracpy小到urllib。这个结构知道就行,不用死记,知道它的好处就是在写的时候起码能知道自己在写什么,出BUG的时候知道在哪动手DEBUG。
前面废话有点多….正文如下:
本文以爬取https://baike.baidu.com/item/Python(python的百度词条为例):
(因为截图太麻烦..这将是本文唯一一张图)
想要爬取python的词条内容,首先,你要知道你所要爬取的网址:
url = 'https://baike.baidu.com/item/Python'
因为只需要爬这一页,管理器OK。
html = request.urlopen(url)
调用一下urlopen()函数,下载器OK
Soup = BeautifulSoup(html,"html.parser") baike = Soup.find_all("p",class_='lemma-summary')
利用Beautifulsoup库里的beautifulsoup函数合find_all函数,解析器OK
在这里说一句,find_all函数的返回值是一个列表。所以输出时要循环打印。
由于本例不需要保存,直接打印就行,所以:
for content in baike: print (content.get_text())
get_text()的作用是提取出标签里的文本。
把上面的代码整理一下:
import requestsfrom bs4 import BeautifulSoupfrom urllib import requestimport reif __name__ == '__main__': url = 'https://baike.baidu.com/item/Python' html = request.urlopen(url) Soup = BeautifulSoup(html,"html.parser") baike = Soup.find_all("p",class_='lemma-summary') for content in baike: print (content.get_text())
百度百科的词条就出来了。
类似的方法也能爬一些小说、图片、头条之类的,绝不仅限于词条。
如果关掉这篇文章你也能写出这个程序,那恭喜你,入门了。记住,千万别背代码。
骤都省略了…整个程序有点粗糙…见谅啊….溜了溜了( ̄ー ̄)……
Atas ialah kandungan terperinci Python3 基础爬虫简介. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Rangka kerja pemetaan hubungan objek (ORM) memainkan peranan penting dalam pembangunan ular sawa, ia memudahkan akses dan pengurusan data dengan membina jambatan antara objek dan pangkalan data hubungan. Untuk menilai prestasi rangka kerja ORM yang berbeza, artikel ini akan menanda aras terhadap rangka kerja popular berikut: sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM Kaedah Ujian Penanda aras menggunakan pangkalan data SQLite yang mengandungi 1 juta rekod. Ujian melakukan operasi berikut pada pangkalan data: Masukkan: Masukkan 10,000 rekod baharu ke dalam jadual Baca: Baca semua rekod dalam jadual Kemas kini: Kemas kini satu medan untuk semua rekod dalam jadual Padam: Padam semua rekod dalam jadual Setiap operasi

Rangka kerja Yii ialah rangka kerja pembangunan PHP berprestasi tinggi, sangat berskala dan sangat boleh diselenggara yang sangat cekap dan boleh dipercayai semasa membangunkan aplikasi Web. Kelebihan utama rangka kerja Yii ialah ciri unik dan kaedah pembangunannya, di samping menyepadukan banyak alatan dan fungsi praktikal. Konsep teras rangka kerja Yii, corak MVC, Yii mengamalkan corak MVC (Model-View-Controller), iaitu corak yang membahagikan aplikasi kepada tiga bahagian bebas, iaitu model pemprosesan logik perniagaan dan model persembahan antara muka pengguna. .

PHP ialah bahasa skrip sebelah pelayan sumber terbuka yang digunakan secara meluas yang boleh mengendalikan semua tugas dalam pembangunan web. PHP digunakan secara meluas dalam pembangunan web, terutamanya untuk prestasi cemerlangnya dalam pemprosesan data dinamik, jadi ia disukai dan digunakan oleh ramai pembangun. Dalam artikel ini, kami akan menerangkan asas PHP langkah demi langkah untuk membantu pemula daripada mula menjadi mahir. 1. Sintaks asas PHP ialah bahasa yang ditafsirkan yang kodnya serupa dengan HTML, CSS dan JavaScript. Setiap penyata PHP berakhir dengan koma bertitik;

Pemetaan hubungan objek (ORM) ialah teknologi pengaturcaraan yang membolehkan pembangun menggunakan bahasa pengaturcaraan objek untuk memanipulasi pangkalan data tanpa menulis pertanyaan SQL secara langsung. Alat ORM dalam python (seperti SQLAlchemy, Peewee dan DjangoORM) memudahkan interaksi pangkalan data untuk projek data besar. Kelebihan Kesederhanaan Kod: ORM menghapuskan keperluan untuk menulis pertanyaan SQL yang panjang, yang meningkatkan kesederhanaan dan kebolehbacaan kod. Abstraksi data: ORM menyediakan lapisan abstraksi yang mengasingkan kod aplikasi daripada butiran pelaksanaan pangkalan data, meningkatkan fleksibiliti. Pengoptimuman prestasi: ORM sering menggunakan operasi caching dan kelompok untuk mengoptimumkan pertanyaan pangkalan data, dengan itu meningkatkan prestasi. Mudah alih: ORM membenarkan pembangun untuk

Memahami Corak Reka Bentuk Java: Pengenalan kepada 7 corak reka bentuk yang biasa digunakan, contoh kod khusus diperlukan adalah penyelesaian universal kepada masalah reka bentuk perisian. Ia menyediakan satu set idea reka bentuk dan kod tingkah laku yang diterima secara meluas. Corak reka bentuk membantu kami menyusun dan merancang struktur kod dengan lebih baik, menjadikan kod lebih mudah diselenggara, boleh dibaca dan berskala. Dalam artikel ini, kami akan memperkenalkan 7 corak reka bentuk yang biasa digunakan dalam Java dan memberikan contoh kod yang sepadan. Singleton Patte

Pemetaan hubungan objek (ORM) ialah teknologi yang membolehkan membina jambatan antara bahasa pengaturcaraan berorientasikan objek dan pangkalan data hubungan. Menggunakan pythonORM boleh memudahkan operasi kegigihan data dengan ketara, dengan itu meningkatkan kecekapan pembangunan aplikasi dan kebolehselenggaraan. Kelebihan Menggunakan PythonORM mempunyai kelebihan berikut: Kurangkan kod boilerplate: ORM secara automatik menjana pertanyaan sql, dengan itu mengelakkan menulis banyak kod boilerplate. Permudahkan interaksi pangkalan data: ORM menyediakan antara muka bersatu untuk berinteraksi dengan pangkalan data, memudahkan operasi data. Tingkatkan keselamatan: ORM menggunakan pertanyaan berparameter, yang boleh menghalang kelemahan keselamatan seperti suntikan SQL. Galakkan ketekalan data: ORM memastikan penyegerakan antara objek dan pangkalan data serta mengekalkan ketekalan data. Pilih ORM untuk dimiliki

Tkinter ialah perpustakaan yang berkuasa untuk mencipta antara muka pengguna grafik (GUI) dalam python. Ia terkenal dengan kesederhanaan, keserasian merentas platform dan integrasi yang lancar dengan ekosistem Python. Dengan menggunakan Tkinter, anda boleh menambah antara muka mesra pengguna pada projek anda, meningkatkan pengalaman pengguna dan memudahkan interaksi dengan aplikasi anda. Mencipta aplikasi GUI Tkinter Untuk mencipta aplikasi GUI menggunakan Tkinter, lakukan langkah berikut: Import perpustakaan Tkinter: importtkinterastk Cipta tetingkap utama Tkinter: root=tk.Tk() Konfigurasikan tetingkap utama: Tetapkan tajuk tetingkap, saiz, kedudukan , dsb. Tambah elemen GUI: Menggunakan Tki

Git ialah sistem kawalan versi teragih yang membantu pasukan bekerjasama dalam pembangunan perisian. Bagi pembangun Java, memahami Git adalah penting kerana ia menyediakan platform untuk mengurus perubahan kod, sejarah kod penjejakan dan bekerjasama dengan orang lain. Pasang Git untuk pemula (faham asas): Pasang perisian Git dan tetapkan pembolehubah persekitaran. Cipta repositori: Gunakan gitinit untuk mencipta repositori tempatan. Tambah fail: Gunakan gitadd untuk menambah fail ke kawasan pementasan. Komit perubahan: Gunakan gitcommit untuk melakukan perubahan dalam kawasan pementasan ke repositori tempatan. Perantaraan (kerjasama dan kawalan versi) mengklon repositori: Gunakan gitclone untuk mengklon salinan tempatan daripada repositori jauh. Cawangan dan Penggabungan: Gunakan cawangan untuk membuat salinan terpencil kod anda
