我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用Web Scraping爬取HTML网页

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用Web Scraping爬取HTML网页

这篇文章主要讲解了“怎么用Web Scraping爬取HTML网页”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Web Scraping爬取HTML网页”吧!

  -爬取HTML网页

  -直接下载数据文件,例如csv,txt,pdf文件

  -通过应用程序编程接口(API)访问数据,例如 电影数据库,Twitter

  选择网页爬取,当然了解HTML网页的基本结构,可以参考这个网页:

  HTML的基本结构

  HTML标记:head,body,p,a,form,table等等

  标签会具有属性。例如,标记a具有属性(或属性)href的链接的目标。

  class和id是html用来通过级联样式表(CSS)控制每个元素的样式的特殊属性。 id是元素的唯一标识符,而class用于将元素分组以进行样式设置。

  一个元素可以与多个类相关联。 这些类别之间用空格隔开,例如 <h3 class=“ city main”>伦敦</ h3>

  下图是来自W3SCHOOL的例子,city的包括三个属性,main包括一个属性,London运用了两个city和main,这两个类,呈现出来的是下图的样子。

  可以通过标签相对于彼此的位置来引用标签

  child-child是另一个标签内的标签,例如 这两个p标签是div标签的子标签。

  parent-parent是一个标签,另一个标签在其中,例如 html标签是body标签的parent标签。

  siblings-siblings是与另一个标签具有相同parent标签的标签,例如 在html示例中,head和body标签是同级标签,因为它们都在html内。 两个p标签都是sibling,因为它们都在body里面。

  四步爬取网页:

  第一步:安装模块

  安装requests,beautifulsoup4,用来爬取网页信息

  Install modules requests, BeautifulSoup4/scrapy/selenium/....requests: allow you to send HTTP/1.1 requests using Python. To install:Open terminal (Mac) or Anaconda Command Prompt (Windows)code:  BeautifulSoup: web page parsing library, to install, use:

  第二步 :利用安装包来读取网页源码

  第三步:浏览网页源码找到需要读取信息的位置

  这里不同的浏览器读取源码有差异,下面介绍几个,有相关网页查询详细信息。

  Firefox: right click on the web page and select "view page source"Safari: please instruction here to see page source ()Ineternet Explorer: see instruction at

  第四步:开始读取

  Beautifulsoup: 简单那,支持CSS Selector, 但不支持 XPathscrapy (): 支持 CSS Selector 和XPathSelenium: 可以爬取动态网页 (例如下拉不断更新的)lxml等BeautifulSoup里Tag: an xml or HTML tag 标签Name: every tag has a name 每个标签的名字Attributes: a tag may have any number of attributes. 每个标签有一个到多个属性 A tag is shown as a dictionary in the form of {attribute1_name:attribute1_value, attribute2_name:attribute2_value, ...}. If an attribute has multiple values, the value is stored as a listNavigableString: the text within a tag

  上代码:

  #Import requests and beautifulsoup packages

  from IPython.core.interactiveshell import InteractiveShell

  InteractiveShell.ast_node_interactivity="all"

  # import requests package

  import requests

  # import BeautifulSoup from package bs4 (i.e. beautifulsoup4)

  from bs4 import BeautifulSoup

  Get web page content

  # send a get request to the web page

  page=requests.get("A simple example page")

  # status_code 200 indicates success.

  # a status code >200 indicates a failure

  if page.status_code==200:

  # content property gives the content returned in bytes

  print(page.content)  # text in bytes

  print(page.text)     # text in unicode

  #Parse web page content

  # Process the returned content using beautifulsoup module

  # initiate a beautifulsoup object using the html source and Python&rsquo;s html.parser

  soup=BeautifulSoup(page.content, 'html.parser')

  # soup object stands for the **root**

  # node of the html document tree

  print("Soup object:")

  # print soup object nicely

  print(soup.prettify())

  # soup.children returns an iterator of all children nodes

  print("\soup children nodes:")

  soup_children=soup.children

  print(soup_children)

  # convert to list

  soup_children=list(soup.children)

  print("\nlist of children of root:")

  print(len(soup_children))

  # html is the only child of the root node

  html=soup_children[0]

  html

  # Get head and body tag

  html_children=list(html.children)

  print("how many children under html? ", len(html_children))

  for idx, child in enumerate(html_children):

  print("Child {} is: {}\n".format(idx, child))

  # head is the second child of html

  head=html_children[1]

  # extract all text inside head

  print("\nhead text:")

  print(head.get_text())

  # body is the fourth child of html

  body=html_children[3]

  # Get details of a tag

  # get the first p tag in the div of body

  div=list(body.children)[1]

  p=list(div.children)[1]

  p

  # get the details of p tag

  # first, get the data type of p

  print("\ndata type:")

  print(type(p))

  # get tag name (property of p object)

  print ("\ntag name: ")

  print(p.name)

  # a tag object with attributes has a dictionary

  # use <tag>.attrs to get the dictionary

  # each attribute name of the tag is a key

  # get all attributes

  p.attrs

  # get "class" attribute

  print ("\ntag class: ")

  print(p["class"])

  # how to determine if 'id' is an attribute of p?

  # get text of p tag

  p.get_text()

感谢各位的阅读,以上就是“怎么用Web Scraping爬取HTML网页”的内容了,经过本文的学习后,相信大家对怎么用Web Scraping爬取HTML网页这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用Web Scraping爬取HTML网页

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么使用python爬取网页图片

本篇内容介绍了“怎么使用python爬取网页图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在现在这个信息爆炸的时代,要想高效的获取数据,
2023-07-02

怎么使用matlab爬取网页图片

要使用Matlab来爬取网页图片,可以使用以下步骤:1. 首先,需要安装和配置Matlab的Web Access Toolbox。这个工具箱可以帮助你在Matlab中进行网页数据的获取和处理。2. 使用Matlab的`webread`函数来
2023-08-20

nodejs怎么爬取动态网页

要爬取动态网页,可以使用Node.js的一些库和工具,如Puppeteer、Cheerio和Axios。下面是一个使用这些工具的示例:1. 首先,使用npm安装所需的库和工具:```bashnpm install puppeteer che
2023-08-15

python怎么爬取豆瓣网页

这篇文章主要介绍了python怎么爬取豆瓣网页,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python 语法简要介绍python 的基础语法大体与c语言相差不大,由于省去了
2023-06-14

怎么用python爬虫抓取网页文本

使用Python爬虫抓取网页文本可以使用第三方库requests和beautifulsoup。首先,安装requests和beautifulsoup库:pip install requestspip install beautifulsou
2023-10-18

怎么利用Python批量爬取网页图片

你可以使用Python的requests库来发起HTTP请求,并使用BeautifulSoup库来解析HTML文档以获取图片的URL。下面是一个简单的示例代码,用于批量爬取网页上的图片:```pythonimport requestsfro
2023-09-27

python怎么爬取搜索后的网页

要爬取搜索后的网页,可以使用Python中的爬虫库(如Requests、BeautifulSoup、Scrapy等)来发送HTTP请求并解析网页内容。下面是一个使用Requests和BeautifulSoup来爬取搜索后的网页的示例:```
2023-09-15

python怎么爬取同一网站所有网页

Python爬取同一网站所有网页使用Python网络爬虫库(如BeautifulSoup或Scrapy)和广度优先搜索(BFS)或深度优先搜索(DFS)算法,您可以爬取同一网站的所有网页。BFS遍历所有页面,而DFS优先探索深度路径。自定义过滤器可排除不需要的页面,爬取深度限制可防止无限循环。处理重复页面和提取链接对于有效爬取至关重要。遵守机器人协议,避免过快爬取,并存储和导出爬取数据以供将来使用。
python怎么爬取同一网站所有网页
2024-04-09

Pycharm怎么爬取网页文本和图片

要使用Pycharm爬取网页文本和图片,你可以使用以下步骤:1. 导入所需的库:`requests`和`beautifulsoup4`。```pythonimport requestsfrom bs4 import BeautifulSou
2023-08-18

Python怎么爬取网页内容并存储

本篇内容介绍了“Python怎么爬取网页内容并存储”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言想必大家都爬取过各个网站上首页上的东西把
2023-06-02

怎么用python爬取网站

使用Python爬取网站的一般步骤如下:1. 导入所需的库,如`requests`或`urllib`用于发送HTTP请求,`beautifulsoup`或`lxml`用于解析HTML页面。2. 发送HTTP请求获取网页的内容,可以使用`re
2023-08-31

怎么用python爬取网站

使用Python爬取网站:分步指南了解如何使用Python爬取网站,包括选择库、获取页面内容、解析HTML、提取数据、处理分页、使用Selenium控制浏览器、处理动态内容、保存数据以及处理错误。遵循道德准则,避免对服务器造成过载。本指南提供分步说明、代码示例和最佳实践,帮助您从网站中获取所需数据。
怎么用python爬取网站
2024-04-11

怎么用C#爬网页数据

这篇文章主要讲解了“怎么用C#爬网页数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C#爬网页数据”吧!CSQuery1. 安装github的地址:https://github.co
2023-06-16

python怎么爬取网页内的指定内容

要爬取网页内的指定内容,可以使用Python中的第三方库,如BeautifulSoup和Requests。首先,需要安装这两个库。使用以下命令进行安装:```pip install beautifulsoup4pip install req
2023-08-08

Python爬虫之怎么使用BeautifulSoup和Requests抓取网页数据

这篇文章主要介绍了Python爬虫之怎么使用BeautifulSoup和Requests抓取网页数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python爬虫之怎么使用BeautifulSoup和Reque
2023-07-05

怎么用python爬取网站数据

正文一、工具准备Python库:requests、BeautifulSoup4、lxml开发环境:Python3.x、IDE二、步骤详解发送HTTP请求,解析HTML响应提取数据,处理数据解决常见问题:受限网站、复杂结构、动态页面、封禁三、高级技巧多线程爬取、数据库存储分布式爬取、云服务四、应用场景价格比较、新闻聚合社交媒体分析、电子邮件营销搜索引擎优化
怎么用python爬取网站数据
2024-04-13

怎么用python爬取网站数据

要用Python爬取网站数据,可以使用Python的爬虫库来实现。下面是一个简单的示例,使用`requests`库来获取网页内容,使用`BeautifulSoup`库来解析网页。首先,需要先安装`requests`和`beautifulso
2023-09-07

使用Python爬虫怎么避免频繁爬取网站

这期内容当中小编将会给大家带来有关使用Python爬虫怎么避免频繁爬取网站,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。python的数据类型有哪些?python的数据类型:1. 数字类型,包括int(整
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录