Rumah > pembangunan bahagian belakang > Tutorial Python > Python3 基础爬虫简介

Python3 基础爬虫简介

一个新手
Lepaskan: 2017-09-25 10:53:48
asal
2450 orang telah melayarinya


python3 基础爬虫入门心得

第一次写博客,有点紧张,不喜勿喷。
如果有不足之处,希望读者指出,本人一定改正。

学习爬虫之前你需要了解(个人建议,铁头娃可以无视):
- **少许网页制作知识,起码要明白什么标签...**
- **相关语言基础知识。比如用java做爬虫起码会用Java语言,用python做爬虫起码要会用python语言...**
- **一些网络相关知识。比如TCP/IP、cookie之类的知识,明白网页打开的原理。**
- **国家法律。知道哪些能爬,哪些不能爬,别瞎爬。**
Salin selepas log masuk

如标题,本文中所有代码使用python3.6.X。

首先,你需要安装(pip3 install xxxx 一下就OK了)

  1. requests 模块

  2. 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'
Salin selepas log masuk

因为只需要爬这一页,管理器OK。

 html = request.urlopen(url)
Salin selepas log masuk

调用一下urlopen()函数,下载器OK

    Soup = BeautifulSoup(html,"html.parser")
    baike = Soup.find_all("p",class_='lemma-summary')
Salin selepas log masuk

利用Beautifulsoup库里的beautifulsoup函数合find_all函数,解析器OK
在这里说一句,find_all函数的返回值是一个列表。所以输出时要循环打印。

由于本例不需要保存,直接打印就行,所以:

for content in baike:    
print (content.get_text())
Salin selepas log masuk

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())
Salin selepas log masuk

百度百科的词条就出来了。
类似的方法也能爬一些小说、图片、头条之类的,绝不仅限于词条。
如果关掉这篇文章你也能写出这个程序,那恭喜你,入门了。记住,千万别背代码。

骤都省略了…整个程序有点粗糙…见谅啊….溜了溜了( ̄ー ̄)……

Atas ialah kandungan terperinci Python3 基础爬虫简介. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan