跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

Python3 基础爬虫简介

python3 基础爬虫入门心得 第一次写博客,有点紧张,不喜勿喷。 如果有不足之处,希望读者指出,本人一定改正。
学习爬虫之前你需要了解(个人建议,铁头娃可以无视): - **少许网页制作知识,起码要明白什么标签...** - **相关语言基础知识。比如用java做爬虫起码会用Java语言,用python做爬虫起码要会用python语言...** - **一些网络相关知识。比如TCP/IP、cookie之类的知识,明白网页打开的原理。** - **国家法律。知道哪些能爬,哪些不能爬,别瞎爬。**
如标题,本文中所有代码使用python3.6.X。 首先,你需要安装(pip3 install xxxx 一下就OK了) requests 模块 BeautifulSoup 模块(或lxml 模块) 立即学习 “ Python免费学习笔记(深入) ”; 这两个库功能十分强大,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())
百度百科的词条就出来了。 类似的方法也能爬一些小说、图片、头条之类的,绝不仅限于词条。 如果关掉这篇文章你也能写出这个程序,那恭喜你,入门了。记住,千万别背代码。 骤都省略了…整个程序有点粗糙…见谅啊….溜了溜了( ̄ー ̄)……

相关文章