paint-brush
怎么样去 建设 Python Web Scraper:从其中小程序提取数剧 經過@terieyenike
8,509 讀數
8,509 讀數

如何构建 Python Web Scraper:从任何网站抓取数据

进行 Teri4m2022/09/08
Read on Terminal Reader
Read this story w/o Javascript

太長; 讀書

Python 允许您使用 Python 脚本从网站上抓取或抓取数据。这种收集数据的方法称为网络抓取。大多数网站不希望你抓取他们的数据,为了找出什么是合法的和允许抓取的,网站有一个专门的页面,显示允许的端点的详细信息。在这个练习中,我们抓取新闻内容的主页,我们可以根据用户代理来完成。编写完整个脚本后,我们的页面应该会从 YCombinator 的新闻主页中抓取数据。
featured image - 如何构建 Python Web Scraper:从任何网站抓取数据
Teri HackerNoon profile picture
在小编中,我们的将打造两个过程,能够您运行 Python 脚本制作从的网站上扒取或扒取数剧。这一采集而来数剧的具体方法称呼在线扒取。360网页窗口获取可以说是操作 Python 或许多许多c文字代码编程文字以c文字代码编程玩法下載、深度清理和操作360网页窗口中的统计资料。绝大基本上数公司网 不祝愿你获取它们的统计资料,为了能写出哪种是合法化的和不得获取的,公司网 有条个特别的窗口,表明不得的端点的完整数据。将 robots.txt 附带到任何超链接的最后,以了解一下充许的端点。如,我们都公司们食用 。动用现在的文内容信息,数据应以下如下:
微信截图说明确公司被支持和不支持从 YCombinator 网上爬取的端点。爬取廷迟一味着在使用的应用程序从网爬取的数据时暂停/开始,然而并不会根据一个劲爬取而出现其功能器超载超限并减慢网高速度。在此练好中,我们都都爬取消息东西的首页,我们都都可可根据业主代来成功。

入门

Python web scraper 必须的两个一定的传感器来爬取动态数据:
  • 美丽的汤
  • 要求

美丽的汤

Beautiful Soup 是一种个 Python 库,运行在从 HTML 软件中获取数据统计源。它运行剖析器修改游戏软件,将数据统计源转移为有作用的word文件,全为软件员合理节省数小时候的手动操作时和反复重复性能操作。

要求

requests HTTP 库用于使用带有

.get()
功能。

创建 Web Scraper

下面来说看这是内容的本身。开启某个新分类目录,并在在这当中开启某个文书,该文书将带有电脑网络网页爬虫子程序的大多数游戏脚本。借鉴并复制粘贴以下的代码是什么:
 # app.py import requests response = requests.get( '//news.ycombinator.com/news' ) yc_web_page = response.text print(yc_web_page)
底下的二维码下达以下的的操作:
  • 导入
    requests
    模块
  • 使用响应变量,附加到
    .get()
    功能从提供的网站链接下载 HTML 文件
  • 阅读网页的内容
    .text

如果您使用命令 python 运行此代码

app.py
它没有给你任何输出,这意味着需要安装两个导入的模块。

加载低于指令来的安装版块。
 pip3 install requests pip install beautifulsoup4
源码的的结果应下述如图:

接下来,让我们更新

app.py
使用漂亮的汤与其余代码一起文件:

 # main.py import requests from bs4 import BeautifulSoup # add this
response = requests.get( '//news.ycombinator.com/news' ) yc_web_page = response.text # add this 
soup = BeautifulSoup(yc_web_page, 'html.parser' ) article_tag = soup.find(name= "a" , class_= 'titlelink' ) article_title = article_tag.get_text() article_link = article_tag.get( 'href' ) article_upvote = soup.find(name= "span" , class_= "score" ).get_text() result = {  "title" : article_title,  "link" : article_link,  "point" : article_upvote } print(result)
依据中的代碼电影片段强制执行左右运行:
  • 从模块bs4导入 BeautifulSoup 函数
  • 接下来,使用变量soup从
    yc_web_page
    使用 BeautifulSoup 功能和
    html.parser
    获取 HTML 文件

在浏览其余代码之前,让我们使用提供的链接打开我们的网络浏览器

.get()

接下来,在页面上右击,点击inspect,查看YCombinator新闻页面的elements选项卡。

各位的网页页面想必是如此的:
的运行 Beautiful Soup,我们公司可的运行植物的根的类名来精确定位html页面上的某设计:
  • 通过分配 article_tag 变量,每个页面元素都有一个标签名称,使用
    find()
    具有元素名称、 a标签和
    class_
    带下划线。这样做是为了防止覆盖网页元素中的类
  • 现在,我们要提取的链接标题之一
    article_tag
    使用
    .get_text()
    功能
  • 接下来,提取链接
    article_tag
    使用属性
    href
    .get()
    功能
  • 这同样适用于
    article_upvote
    变量,其中标签名称,
     <span>
    , 类名用于提取每篇文章链接的点数
  • 创建一个变量结果,将提取的数据显示为带有键和值对的字典
  • 打印出最终结果
撰写完正个角本后,.我的页面内容理应会从 YCombinator 的新闻图片百度主页中提取数据资料,相应如下图所示:

结论

小编教你咋样利用 Python 无线网络蜘蛛从360浏览器中提炼数据统计。显然,实用电脑网络获取APP的功能表还就是,它能能省去日期和注意力来更好地而不算人工手动开启机组地自动生成大中型数值集。

学到更多

바카라사이트 바카라사이트 온라인바카라