当前位置: 首页 > news >正文

简述网站的建站流程做一个旅游团网站怎么做

简述网站的建站流程,做一个旅游团网站怎么做,网架加工多少钱一吨,网站左下角广告代码文章目录 前言一、Requests BeautifulSoup(基础组合)二、Scrapy(高级框架)三、PySpider(可视化爬虫)四、Selenium(浏览器自动化)五、Playwright(新一代浏览器自动化&…

文章目录

  • 前言
  • 一、Requests + BeautifulSoup(基础组合)
  • 二、Scrapy(高级框架)
  • 三、PySpider(可视化爬虫)
  • 四、Selenium(浏览器自动化)
  • 五、Playwright(新一代浏览器自动化)


前言

Python 提供了多种强大的爬虫框架,适用于不同场景和需求。以下是主流框架的详细介绍及对比分析:


一、Requests + BeautifulSoup(基础组合)

特点:

  • Requests:HTTP 请求库,简单易用
  • BeautifulSoup:HTML/XML 解析库,灵活强大
  • 适合场景:中小型网站、结构规则的页面
    示例代码:
import requests
from bs4 import BeautifulSoupurl = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')# 提取所有链接
links = [a['href'] for a in soup.find_all('a', href=True)]# 提取特定元素
title = soup.find('h1').text

二、Scrapy(高级框架)

特点:

  • 全功能爬虫框架,支持异步、分布式
  • 内置调度器、下载器、解析器
  • 自动处理 cookies、会话、重试等
  • 适合场景:大型网站、高性能需求
    示例代码:
import scrapyclass ExampleSpider(scrapy.Spider):name = "example"start_urls = ["https://example.com"]def parse(self, response):# 提取数据for item in response.css('div.item'):yield {'title': item.css('h2::text').get(),'link': item.css('a::attr(href)').get(),}# 跟进链接next_page = response.css('a.next-page::attr(href)').get()if next_page:yield response.follow(next_page, self.parse)
运行命令:
bash
scrapy startproject myproject
scrapy genspider example example.com
scrapy crawl example -o items.json

三、PySpider(可视化爬虫)

特点:

  • 可视化界面,支持 Web 端操作
  • 支持 JavaScript 渲染(PhantomJS/Selenium)
  • 内置任务队列和结果存储
  • 适合场景:需要可视化监控的爬虫
    安装与启动:
pip install pyspider
pyspider all

示例代码:

from pyspider.libs.base_handler import *class Handler(BaseHandler):@every(minutes=24 * 60)def on_start(self):self.crawl('https://example.com', callback=self.index_page)@config(age=10 * 24 * 60 * 60)def index_page(self, response):for each in response.doc('a[href^="http"]').items():self.crawl(each.attr.href, callback=self.detail_page)def detail_page(self, response):return {"url": response.url,"title": response.doc('title').text(),}

四、Selenium(浏览器自动化)

特点:

  • 控制真实浏览器,支持 JavaScript 渲染
  • 适用于需要用户交互的场景
  • 性能较低,适合小规模数据采集
    示例代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service# 设置 ChromeDriver 路径
service = Service('/path/to/chromedriver')
driver = webdriver.Chrome(service=service)driver.get('https://example.com')# 等待元素加载
element = driver.find_element(By.CSS_SELECTOR, 'button.submit')
element.click()# 提取数据
data = driver.find_element(By.CSS_SELECTOR, 'div.result').text
driver.quit()

五、Playwright(新一代浏览器自动化)

特点:

  • 由 Microsoft 开发,支持多浏览器
  • 自动化操作高效,支持无头模式
  • 内置等待、断言等功能
    示例代码:
from playwright.sync_api import sync_playwrightwith sync_playwright() as p:browser = p.chromium.launch(headless=False)page = browser.new_page()page.goto('https://example.com')# 填写表单page.fill('input[name="search"]', 'Python')page.click('button[type="submit"]')# 等待结果page.wait_for_selector('div.result-item')# 提取数据results = page.query_selector_all('div.result-item')for result in results:print(result.text_content())browser.close()
http://www.dtcms.com/a/414291.html

相关文章:

  • ApplicationContext接口实现(三)
  • 英文版网站建设的意义网站怎么做友链
  • 第5章:前后端编码规范
  • Java实现文件下载
  • Python api示例
  • StarRocks:Connect Data Analytics with the World
  • deepseek Kotlin Channel 详细学习指南
  • 网站市场推广东莞 网站制作
  • 面试题回顾
  • Visual Studio 2026 IDE发布了
  • 在MCUXpresso IDE中建立使用静态库的工程
  • 【人工智能通识专栏】第二十八讲:IDE集成Deepseek
  • 电子商务网站建设参考书软文时光发稿平台
  • Flask与Django:Python Web框架的哲学对决
  • Android 消息循环机制
  • 若依前后端分离版集成到企业微信自建应用
  • 电商网站建设心得ps做网站首页怎么运用起来
  • 免费建一级域名网站精品网站设计
  • windows电脑如何执行openssl rand命令
  • 【MySQL✨】MySQL 入门之旅 · 第十一篇:常见错误排查与解决方案
  • Word表格数据提取工具
  • 【Rust GUI开发入门】编写一个本地音乐播放器(1. 主要技术选型架构设计)
  • Rust 中的 static 和 const
  • Linux操作系统-进程(一)
  • 零基础学AI大模型之LangChain六大核心模块与大模型IO交互链路
  • 20250927让荣品RD-RK3588-MID开发板的Android13系统在uboot下关闭背光充电
  • 人工智能专业知识图谱
  • 深入理解Windows服务:架构、管理与编程实践
  • 作风建设简报--门户网站如何提高网站百度权重
  • CentOS7搭建ELK日志分析系统