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())
百度百科的词条就出来了。
类似的方法也能爬一些小说、图片、头条之类的,绝不仅限于词条。
如果关掉这篇文章你也能写出这个程序,那恭喜你,入门了。记住,千万别背代码。
骤都省略了…整个程序有点粗糙…见谅啊….溜了溜了( ̄ー ̄)……
以上是Python3 基础爬虫简介的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

对象关系映射(ORM)框架在python开发中扮演着至关重要的角色,它们通过在对象和关系数据库之间建立桥梁,简化了数据访问和管理。为了评估不同ORM框架的性能,本文将针对以下流行框架进行基准测试:sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM测试方法基准测试使用了一个包含100万条记录的SQLite数据库。测试对数据库执行了以下操作:插入:向表中插入10,000条新记录读取:读取表中的所有记录更新:更新表中所有记录的单个字段删除:删除表中的所有记录每个操作

Yii框架是一个高性能、高扩展性、高可维护性的PHP开发框架,在开发Web应用程序时具有很高的效率和可靠性。Yii框架的主要优点在于其独特的特性和开发方法,同时还集成了许多实用的工具和功能。Yii框架的核心概念MVC模式Yii采用了MVC(Model-View-Controller)模式,是一种将应用程序分为三个独立部分的模式,即业务逻辑处理模型、用户界面呈

PHP是一种广泛使用的开源服务器端脚本语言,它可以处理Web开发中所有的任务。PHP在网页开发中的应用广泛,尤其是在动态数据处理上表现优异,因此被众多开发者喜爱和使用。在本篇文章中,我们将一步步地讲解PHP基础知识,帮助初学者从入门到精通。一、基本语法PHP是一种解释性语言,其代码类似于HTML、CSS和JavaScript。每个PHP语句都以分号;结束,注

对象关系映射(ORM)是一种编程技术,允许开发人员使用对象编程语言来操作数据库,而无需直接编写sql查询。python中的ORM工具(例如SQLAlchemy、Peewee和DjangoORM)简化了大数据项目的数据库交互。优点代码简洁性:ORM消除了编写冗长的SQL查询的需要,这提高了代码简洁性和可读性。数据抽象:ORM提供了一个抽象层,将应用程序代码与数据库实现细节隔离开来,提高了灵活性。性能优化:ORM通常会使用缓存和批量操作来优化数据库查询,从而提高性能。可移植性:ORM允许开发人员在不

了解Java设计模式:常用的7种设计模式简介,需要具体代码示例Java设计模式是一种解决软件设计问题的通用解决方案,它提供了一套被广泛接受的设计思想与行为准则。设计模式帮助我们更好地组织和规划代码结构,使得代码具有更好的可维护性、可读性和可扩展性。在本文中,我们将介绍Java中常用的7种设计模式,并提供相应的代码示例。单例模式(SingletonPatte

对象关系映射(ORM)是一种技术,它允许在面向对象编程语言和关系数据库之间建立桥梁。使用pythonORM可以显着简化数据持久性操作,从而提高应用程序的开发效率和可维护性。优势使用PythonORM具有以下优势:减少样板代码:ORM自动生成sql查询,从而避免编写大量的样板代码。简化数据库交互:ORM提供了一个统一的接口,用于与数据库交互,简化了数据操作。提高安全性:ORM使用参数化查询,可以防止SQL注入等安全漏洞。促进数据一致性:ORM确保对象与数据库之间的同步,维护数据一致性。选择ORM有

Tkinter是python中用于创建图形用户界面(GUI)的一个强大库。它以其简单性、跨平台兼容性和与Python生态系统的无缝集成而闻名。通过使用Tkinter,您可以为您的项目添加用户友好的界面,从而提高用户体验并简化与应用程序的交互。创建TkinterGUI应用程序要使用Tkinter创建GUI应用程序,请执行以下步骤:导入Tkinter库:importtkinterastk创建Tkinter主窗口:root=tk.Tk()配置主窗口:设置窗口标题、大小、位置等添加GUI元素:使用Tki

git是一个分布式版本控制系统,可帮助团队协作开发软件。对于Java开发人员来说,了解Git至关重要,因为它提供了一个管理代码更改、跟踪代码历史和与他人协作的平台。新手(了解基础)安装Git:安装Git软件并设置环境变量。创建存储库:使用gitinit创建本地存储库。添加文件:使用gitadd将文件添加到暂存区。提交更改:使用gitcommit将暂存区中的更改提交到本地存储库。中级(协作和版本控制)克隆存储库:使用gitclone从远程存储库克隆本地副本。分支和合并:使用分支来创建代码的隔离副本
