零基础写python爬虫之爬虫的定义及URL构成

yizhihongxing

“零基础写Python爬虫”系列教程之一:爬虫的定义及URL构成

一、爬虫的定义

爬虫是一种自动化获取互联网信息的程序,它通过规定的爬取策略和规则自动从网页中抽取所需的信息并保存下来,相比人工获取信息,爬虫具有自动化、高效率、高准确性等优势。爬虫的主要应用场景包括但不限于数据采集、搜索引擎、信息监测等领域。

二、URL的构成

  1. URL是一种用于定位万维网上资源的地址,包含着资源的位置和访问该资源所需的协议、主机名或IP地址等信息。

  2. URL的基本结构由协议、主机名、端口号、路径、查询字符串和锚点组成。

  3. 协议:指定web客户机如何与服务器交互。常用的协议有 HTTP、HTTPS、FTP等。

  4. 主机名:指定web服务器的名称或IP地址。
  5. 端口号:用来区分同一台主机上不同服务的虚拟端口号,不同的服务有各自的默认端口号。
  6. 路径:指定服务器上资源的位置和名称。
  7. 查询字符串:用来传递信息给服务器,非必需部分。
  8. 锚点:用于定位页面中的特定位置,非必需部分。

三、示例

示例一:爬取豆瓣电影TOP250的电影名称与评分信息

  1. 确定目标页面的URL为:https://movie.douban.com/top250
  2. 分析页面结构,找到目标信息所在的HTML标签和属性。
  3. 使用Python的requests库发送GET请求获取页面HTML代码。
  4. 使用BeautifulSoup库解析HTML代码,筛选目标信息并保存。

下面是示例代码(仅供参考):

import requests
from bs4 import BeautifulSoup

url = "https://movie.douban.com/top250"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}

response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")

for item in soup.find_all("div", class_="info"):
    title = item.find("span", class_="title").get_text()
    rating = item.find("span", class_="rating_num").get_text()
    print(f"名称:{title},评分:{rating}")

示例二:爬取新浪财经的股票信息

  1. 确定目标页面的URL为:http://finance.sina.com.cn/stock/
  2. 同样要先分析页面结构,找到目标信息所在的HTML标签和属性。
  3. 使用Python的requests库发送GET请求获取页面HTML代码。
  4. 使用xpath解析HTML代码,筛选目标信息并保存。

下面是示例代码(仅供参考):

import requests
from lxml import etree

url = "http://finance.sina.com.cn/stock/"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}

response = requests.get(url, headers=headers)
html = etree.HTML(response.content)

stocks = html.xpath('//div[@class="table"]//table//tr')
for stock in stocks:
    name = stock.xpath('td[1]/a/text()')[0]
    price = stock.xpath('td[3]/text()')[0]
    change = stock.xpath('td[4]/text()')[0]
    print(f"股票名称:{name},股价:{price},涨跌额:{change}")

以上示例仅供参考,实际情况需要根据目标网站的具体情况进行相应调整。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:零基础写python爬虫之爬虫的定义及URL构成 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • python时间序列数据相减的实现

    下面是关于“Python时间序列数据相减的实现”的完整攻略,希望对你有帮助。 什么是时间序列数据 时间序列数据是一种按照时间顺序排列的数据,通常在金融、气象、交通等领域广泛应用。时间序列数据的特点是存在时间相关性,且数据点之间的时间间隔通常不是固定的。 如下是一组时间序列数据的示例: 2019-01-01 00:00:00,10.2 2019-01-01 0…

    python 2023年6月2日
    00
  • Python clip与range函数保姆级使用教程

    Python clip与range函数保姆级使用教程 简介 Python中的clip()函数和range()函数是常用的函数之一。clip()函数用于限制数值在一定范围内,而range()函数则用于创建指定范围内的整数序列。本文将详细讲解这两个函数的使用方法及示例。 clip()函数 函数定义 clip()函数用于将数字限制在一个指定范围内。当数字小于范围最…

    python 2023年6月3日
    00
  • 8种用Python实现线性回归的方法对比详解

    8种用Python实现线性回归的方法对比详解 线性回归是机器学习中的一个重要问题,Python可以很方便地实现这个操作。本文将介8种用Python实现线性回归的方法,并对它们进行详细对比。 1. 基本思路 线性回归是一用于建立两个变量之间线性关系的方法。在Python中,我们可以使用numpy和scikit-learn库来实现线性回归。具体实现如下: imp…

    python 2023年5月14日
    00
  • Python使用JSON库解析JSON数据的方法

    在Python中,可以使用JSON库解析JSON数据。以下是Python使用JSON库解析JSON数据的详细攻略: 解析JSON字符串 要解析JSON字符串,可以使用json.loads()方法。以下是解析JSON字符串的示例: import json json_str = ‘{"name": "John", &quo…

    python 2023年5月14日
    00
  • Python中static相关知识小结

    Python中的static和其他编程语言中的static不完全一样,我们可以将它理解为静态方法或者静态变量。static所提供的功能,可以帮助我们更好地组织和管理代码。 静态方法 在Python中,我们可以使用@staticmethod装饰器来定义一个静态方法。静态方法不需要实例化一个对象即可直接调用。 class MyClass: @staticmeth…

    python 2023年6月3日
    00
  • Python字符串对齐、删除字符串不需要的内容以及格式化打印字符

    Python是一种高级编程语言,具有强大的字符串处理功能。在本文中,我们将讨论Python中字符串对齐、删除字符串不需要的内容以及格式化打印字符的方法和示例。 字符串对齐 Python中字符串对齐包括两种方式:左对齐、右对齐和居中对齐。字符串对齐是指在一定宽度的区域内,根据需要在字符串的左侧、右侧或两侧填充一定数量的空格字符使其长度达到指定宽度。Python…

    python 2023年6月5日
    00
  • Python操作Redis之设置key的过期时间实例代码

    针对“Python操作Redis之设置key的过期时间实例代码”的完整攻略,我将从以下四个步骤进行讲解: 导入redis模块 连接redis数据库 设置key的过期时间 关闭redis连接 下面将对每一步进行详细讲解,并提供两条示例说明。 1. 导入redis模块 首先,我们需要在代码中导入redis模块,以便后续的redis操作能够正常进行。可以使用如下代…

    python 2023年6月3日
    00
  • Python random模块的使用示例

    Python random模块的使用示例 Python中的random模块用于生成随机数,包括整数、浮点数和随机序列。接下来介绍random模块的常见使用示例。 1. 生成随机整数 要生成指定范围内的随机整数,可以使用random.randint()函数。该函数接受两个参数,分别代表随机整数的范围。下面的代码示例生成一个1~100之间的随机整数: impor…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部