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

“零基础写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爬虫使用requests发送post请求示例详解

    以下是关于Python爬虫使用requests发送POST请求的攻略: Python爬虫使用requests发送POST请求 requests是一个流行的HTTP库,用于向Web服务器发送HTTP请求和接收响应。以下是Python爬虫使用requests发送POST请求的攻略: 发送POST请求 以下是使用requests库发送POST请求的示例: impo…

    python 2023年5月14日
    00
  • Python多线程编程(八):使用Event实现线程间通信

    我们来详细讲解一下Python多线程编程中使用Event实现线程间通信的完整攻略。 什么是Event? Event是Python中内置的一个线程同步机制,它是一种简单的线程间通信方式。在多个线程之间,一个线程可以通过设置Event来通知其他线程,其他线程也可以通过检查Event的状态来判断是否有通知需要处理。 Event的使用方法 在使用Event时,一般需…

    python 2023年5月19日
    00
  • python 如何做一个识别率百分百的OCR

    下面将详细讲解Python如何实现识别率百分百的OCR的完整攻略: 1. 确认需求和选择技术方案 首先需要明确需求,确定要识别的语言、文字类型、图片格式等。然后根据需求选择OCR技术方案,包括开源OCR库、云端OCR服务以及自研OCR模型等。我们考虑选择开源OCR库Tesseract 4作为技术方案。 2. 数据预处理 OCR技术对输入的图片质量要求较高,因…

    python 2023年5月18日
    00
  • 八大排序算法的Python实现

    下面是关于“八大排序算法的Python实现”的完整攻略。 1. 八大排序算法 八大排序算法包括冒泡排序、选择排序、插入排序、希尔排序、归并排序、速排序、堆排序和数排序。这些排序算法的实现方式不同,但都可以用来对数据进行排序。 2. Python实现 下面是八排序算法的Python实现。 2.1 冒泡排序 def bubble_sort(arr): n = l…

    python 2023年5月13日
    00
  • Python网络爬虫(图片懒加载技术)

    一、图片懒加载技术 图片懒加载概念: 图片懒加载是一种网页优化技术。图片作为一种网络资源,在被请求时也与普通静态资源一样,将占用网络资源,而一次性将整个页面的所有图片加载完,将大大增加页面的首屏加载时间。为了解决这种问题,通过前后端配合,使图片仅在浏览器当前视窗内出现时才加载该图片,达到减少首屏图片请求数的技术就被称为“图片懒加载”。 网站一般如何实现图片懒…

    爬虫 2023年4月12日
    00
  • 浅谈Python中文件夹和python package包的区别

    下面我将详细讲解“浅谈Python中文件夹和python package包的区别”的完整攻略。 文件夹和Python Package的基本概念 在Python中,文件夹和Python Package这两个概念常常被用到,但是很多人却对它们的区别感到困惑。 文件夹指的是一个操作系统中的文件夹,也就是存放文件的目录。 而Python中的Package则是一种特殊…

    python 2023年6月5日
    00
  • 百度翻译爬虫-Web版(自动生成sign)

    1 # 面向对象 2 # 百度翻译 — 网页版(自动获取token,sign) 3 import requests 4 import js2py 5 import json 6 import re 7 8 9 class WebFanyi: 10 “””百度翻译网页版爬虫””” 11 def __init__(self,query_str): 12 sel…

    爬虫 2023年4月11日
    00
  • 详解Python寻找元组中最大元素

    如果想要寻找一个元组中的最大元素,可以使用Python内置的max()函数。 下面是使用max()函数寻找元组中最大元素的代码示例: tup = (1, 3, 5, 2, 4) max_val = max(tup) print(max_val) 在这个例子中,我们定义了一个元组tup,然后使用max()函数寻找tup中的最大元素,并将其赋值给变量max_va…

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