0

0

Python3 基础爬虫简介

一个新手

一个新手

发布时间:2017-09-25 10:53:48

|

2690人浏览过

|

来源于php中文网

原创


python3 基础爬虫入门心得

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

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

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

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

  1. requests 模块

  2. BeautifulSoup 模块(或lxml 模块)

    立即学习Python免费学习笔记(深入)”;

这两个库功能十分强大,requests用于发送网页请求和打开网页,beautifulsoup和lxml则用于解析内容,提取你想要的东西。BeautifulSoup偏向于正则表达式,lxml则偏向于XPath。因为本人用beautifulsoup库比较习惯,这篇文章主要应用beautifulsoup库,lxml不做过多赘诉。(用之前建议先看文档)

爬虫的主要结构:

  • 管理器:管理你要爬取的地址。

  • 下载器:把网页信息下载下来。

  • 筛选器:从下载到的网页信息中筛选出你所需要的内容。

  • 储存器:把下载到的东西存你想存的地方。(根据实际情况,可有可无。)

在我所接触到的所有的网络爬虫基本都逃不出这个结构,大到sracpy小到urllib。这个结构知道就行,不用死记,知道它的好处就是在写的时候起码能知道自己在写什么,出BUG的时候知道在哪动手DEBUG。

前面废话有点多….正文如下:

西安龙昌光学元件企业网站1.1
西安龙昌光学元件企业网站1.1

在原有基础上进行了较大改动进行了代码重写,页面结构和数据库结构均作了优化,基本功能: 1. 精美flash导入页面; 2. 产品发布,支持一级分类; 3. 公司简介、售后服务、联系我们,可进行后台管理; 4. 也可以照“公司简介”的方法增加其他内容,如企业文化、企业荣誉... 5. 采用eWebEditor是网站后台具有强大的编辑功能; 初始帐号: admin 初始密码: admin888

下载

本文以爬取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())

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

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

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
C++ 设计模式与软件架构
C++ 设计模式与软件架构

本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。

14

2026.01.30

c++ 字符串格式化
c++ 字符串格式化

本专题整合了c++字符串格式化用法、输出技巧、实践等等内容,阅读专题下面的文章了解更多详细内容。

9

2026.01.30

java 字符串格式化
java 字符串格式化

本专题整合了java如何进行字符串格式化相关教程、使用解析、方法详解等等内容。阅读专题下面的文章了解更多详细教程。

12

2026.01.30

python 字符串格式化
python 字符串格式化

本专题整合了python字符串格式化教程、实践、方法、进阶等等相关内容,阅读专题下面的文章了解更多详细操作。

4

2026.01.30

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

20

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

18

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

19

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

3

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
jQuery 教程
jQuery 教程

共42课时 | 5.1万人学习

【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号