登录  /  注册

Python3 基础爬虫简介

一个新手
发布: 2017-09-25 10:53:48
原创
2240人浏览过


python3 基础爬虫入门心得

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

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

如标题,本文中所有代码使用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'
登录后复制

因为只需要爬这一页,管理器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问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
关于CSS思维导图的课件在哪? 课件
凡人来自于2024-04-16 10:10:18
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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