Python网络爬虫入门
目录
- 什么是Python?
- 什么是网络爬虫?
- “网络抓取”和“网络爬虫”有什么区别?
- 我用Python进行网络爬虫需要哪些条件?
- 我现在该怎么做?!
什么是Python?
总而言之,Python 是一种非常棒的编程语言。该语言的一些特点包括:
- 翻译
- 面向对象
- 高级
- 动态语义
- 没有分号
Python 常用于网络爬虫、人工智能和数据科学项目。如果你有时间练习这门编程语言,你会享受到一段愉快而有趣的时光,除非你是在赶一个只有 24 小时完成的最终项目。这是官方页面
的链接。
什么是网络爬虫?
您可以在这里找到维基百科的解释。简而言之,它是一种从网页中提取信息的技术。它还有其他名称,例如:“网页数据采集”、“网页数据提取”。
“网络抓取”和“网络爬虫”有什么区别?
有些人把这两个术语混为一谈,但它们之间还是存在一些区别。
“网页抓取”通常是指抓取单个网页上的信息。
“网页爬虫”则是一个更复杂、更精细的过程,它需要访问目标网站,并逐个浏览页面上的链接,最终到达用户可能访问的所有页面。
欢迎大家提出不同意见并留言。
我用Python进行网络爬虫需要哪些条件?
首先,我们需要安装 Python 3。
要完成这一步,你有两种选择:
- 访问Python.org并按照步骤操作。-
参考RealPython.com 的指南。
很好。
现在 Python 3 已经安装好了,我们还需要另外两样东西才能开始。
我们需要安装以下两个包:Requests 和 Beautiful Soup。
要安装它们,你可以运行以下两个命令:
$ pip install requests
$ pip install bs4
我现在该怎么做?
太好了,既然你已经完成了前面的所有步骤,现在就可以开始做正题了。
让我们创建一个 Python 脚本,用来生成最新的存在主义漫画的替代文字。
伪代码大致如下:
- 导入用于发出请求和解析网站的库。
- 向页面发出请求。
- 请求完成后。
- 然后解析 html 页面,使其成为我们可以轻松使用的形式。
- 找到所需的html元素并将其存储在变量中。
- 之后,我们在控制台中打印替代文本。
- 完毕!!!
import requests
from bs4 import BeautifulSoup
# I decided to put it in a method just to re-use it later
def get_upcoming_questions( url ):
# print('Starting the request')
req = requests.get( url )
# print('Request completed')
soup = BeautifulSoup( req.text, 'html.parser' )
questions_raw = soup.find( 'div')
questions = questions_raw.find( 'img',{'class':'comicImg'} )
print( questions['alt'] )
example_url = 'http://existentialcomics.com/'
get_upcoming_questions( example_url )
我为什么需要这个?
现在,每当你忙得没时间去浏览ExistentialComics网站上的精彩漫画时,你只需运行一下你的新脚本,就能获得每日所需的哲学幽默。你知道你需要它。
文章来源:https://dev.to/grekz/introduction-to-web-scraping-using-python-36g5