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

网站建设工作量评估电脑培训学校哪家好

网站建设工作量评估,电脑培训学校哪家好,做网站大概要多少钱,世界三大设计奖文章目录 前言一、Python环境搭建1.Python安装2.选择Python开发环境3. 安装必要库 二、基础爬虫构建1. 发送请求获取网页2. 解析网页提取数据 三、使用 Scrapy 框架搭建系统1. 创建 Scrapy 项目2. 生成爬虫3. 编写爬虫代码4. 运行爬虫 四、应对反爬虫机制1. 常见反爬虫手段2. 解…

文章目录

  • 前言
  • 一、Python环境搭建
    • 1.Python安装
    • 2.选择Python开发环境
    • 3. 安装必要库
  • 二、基础爬虫构建
    • 1. 发送请求获取网页
    • 2. 解析网页提取数据
  • 三、使用 Scrapy 框架搭建系统
    • 1. 创建 Scrapy 项目
    • 2. 生成爬虫
    • 3. 编写爬虫代码
    • 4. 运行爬虫
  • 四、应对反爬虫机制
    • 1. 常见反爬虫手段
    • 2. 解决策略
  • 五、数据存储
    • 1. 存储到文件
    • 2. 存储到数据库
  • 六、系统优化与扩展
    • 1. 性能优化
    • 2. 功能扩展


前言

本教程将以循序渐进、深入浅出的方式,带领你从零基础开始,逐步揭开 Python 爬虫系统搭建的神秘面纱。无论你是初涉编程领域的新手,还是希望拓展技能边界的有经验开发者,都能在本教程中找到实用的指导和启发。让我们一同踏上这场充满挑战与惊喜的技术探索之旅,用 Python 爬虫开启数据世界的无限可能!


一、Python环境搭建

1.Python安装

访问 Python 官方网站,根据你的操作系统(Windows、Mac 或 Linux)下载并安装 Python 3.x 版本。安装时勾选 “Add Python to PATH”,方便在命令行中使用 Python。

Python 3.7安装教程:https://blog.csdn.net/u014164303/article/details/145620847
Python 3.9安装教程:https://blog.csdn.net/u014164303/article/details/145570561
Python 3.11安装教程:https://blog.csdn.net/u014164303/article/details/145549489

2.选择Python开发环境

下载 PyCharm 社区版(免费)或专业版(需付费或申请教育版)。安装完成后,打开 PyCharm,创建一个新的项目,在项目设置中选择之前创建的虚拟环境作为项目的 Python 解释器。PyCharm 功能强大,提供代码自动补全、调试等功能,适合开发大型项目。

Pycharm安装教程:https://blog.csdn.net/u014164303/article/details/145674773
PyCharm下载地址:https://pan.quark.cn/s/5756c8cf8b2a

3. 安装必要库

  • requests:用于发送 HTTP 请求获取网页内容。在命令行输入 pip install requests 进行安装。
  • BeautifulSoup:方便解析 HTML 和 XML 文档,提取所需数据。安装命令为 pip install beautifulsoup4。
  • Scrapy:强大的爬虫框架,能高效抓取和处理数据。使用 pip install scrapy 进行安装。

二、基础爬虫构建

1. 发送请求获取网页

import requests# 目标网页 URL
url = 'https://www.example.com'
try:# 发送 GET 请求response = requests.get(url)# 检查响应状态码,200 表示请求成功if response.status_code == 200:html_content = response.textprint(html_content)else:print(f"请求失败,状态码: {response.status_code}")
except requests.RequestException as e:print(f"请求出错: {e}")

2. 解析网页提取数据

from bs4 import BeautifulSoup
import requestsurl = 'https://www.example.com'
response = requests.get(url)
if response.status_code == 200:html = response.text# 使用 BeautifulSoup 解析 HTMLsoup = BeautifulSoup(html, 'html.parser')# 示例:提取所有链接links = soup.find_all('a')for link in links:href = link.get('href')print(href)

三、使用 Scrapy 框架搭建系统

1. 创建 Scrapy 项目

在命令行输入 scrapy startproject myproject 创建项目,然后 cd myproject 进入项目目录。

2. 生成爬虫

运行 scrapy genspider myspider example.com 生成一个名为 myspider 的爬虫,允许爬取 example.com 域名下的网页。

3. 编写爬虫代码

打开 myproject/spiders/myspider.py 文件,编写如下代码:

import scrapyclass MySpider(scrapy.Spider):name = 'myspider'allowed_domains = ['example.com']start_urls = ['https://www.example.com']def parse(self, response):# 示例:提取所有链接links = response.css('a::attr(href)').getall()for link in links:yield {'link': link}

4. 运行爬虫

在项目目录下运行 scrapy crawl myspider -o output.json,爬虫会开始工作,并将结果保存到 output.json 文件中。

四、应对反爬虫机制

1. 常见反爬虫手段

  • IP 封禁:网站检测到异常频繁的请求 IP 后会进行封禁。
  • Agent 检测:通过请求的 User - Agent 信息判断是否为爬虫。
  • 验证码:要求输入验证码验证身份,防止自动化爬虫。

2. 解决策略

  • 使用代理 IP:借助第三方代理服务(如快代理、芝麻代理),通过代理服务器发送请求,隐藏真实 IP。
import requestsproxies = {'http': 'http://proxy.example.com:8080','https': 'http://proxy.example.com:8080'
}
response = requests.get(url, proxies=proxies)
设置随机请求头:在请求中设置随机的 User - Agent 信息,模拟真实用户请求。
python
import requests
import randomuser_agents = ['Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3','Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
]
headers = {'User - Agent': random.choice(user_agents)
}
response = requests.get(url, headers=headers)
  • 处理验证码:简单验证码可使用 OCR 技术(如 pytesseract 库)识别;复杂验证码可借助第三方验证码识别服务。

五、数据存储

1. 存储到文件

  • 保存为 CSV 文件
import csv
import requests
from bs4 import BeautifulSoupurl = 'https://www.example.com'
response = requests.get(url)
if response.status_code == 200:html = response.textsoup = BeautifulSoup(html, 'html.parser')links = soup.find_all('a')with open('links.csv', 'w', newline='', encoding='utf - 8') as csvfile:writer = csv.writer(csvfile)writer.writerow(['Link'])for link in links:href = link.get('href')writer.writerow([href])

2. 存储到数据库

  • 存储到 MySQL
import requests
from bs4 import BeautifulSoup
import mysql.connector
# 连接数据库
mydb = mysql.connector.connect(host="localhost",user="yourusername",password="yourpassword",database="yourdatabase"
)
mycursor = mydb.cursor()url = 'https://www.example.com'
response = requests.get(url)
if response.status_code == 200:html = response.textsoup = BeautifulSoup(html, 'html.parser')links = soup.find_all('a')for link in links:href = link.get('href')sql = "INSERT INTO links (link) VALUES (%s)"val = (href,)mycursor.execute(sql, val)mydb.commit()

六、系统优化与扩展

1. 性能优化

  • 异步请求:使用 asyncio 和 aiohttp 库实现异步请求,提高并发性能。
import asyncio
import aiohttpasync def fetch(session, url):async with session.get(url) as response:return await response.text()async def main():async with aiohttp.ClientSession() as session:html = await fetch(session, 'https://www.example.com')print(html)asyncio.run(main())
  • 分布式爬虫:结合 Scrapy - Redis 等技术,实现多台机器同时抓取数据,提升效率。

2. 功能扩展

  • 数据清洗与预处理:使用 pandas 库去除重复数据、处理缺失值。
  • 数据分析与可视化:用 pandas 分析数据,matplotlib 或 seaborn 进行可视化展示。
http://www.dtcms.com/wzjs/224456.html

相关文章:

  • 坪地做网站网络营销的特点主要包括什么
  • 绵阳网站定制三生网络营销靠谱吗
  • 兰州网站建设托管博客营销
  • 苏州建网站公司选苏州聚尚网络北京百度推广代理
  • 新seo排名点击软件海外seo是什么
  • 做网站和做app的区别搜索网络如何制造
  • 学做网站论坛vip号码制作一个网页的步骤
  • 合优网络seo工作职位
  • 商城购物网站开发背景2023年九月份新闻
  • 哪个网站做衣服的国际财经新闻
  • 找代理做网站网站域名归属谁企业营销平台
  • 做化学科普网站的目的搜索引擎关键词广告
  • 中山外贸网站开发铁力seo
  • 可以用 我爱乳房做网站名不互联网行业都有哪些工作
  • 网站建设哈尔滨网站建设1百度seo发包工具
  • 网站建设排名优化公司黑锋网seo
  • 创意交互设计青岛网站制作seo
  • 建站之星网站模板bt磁力搜索
  • 网站建设与网页设计教程百度pc版网页
  • wordpress本地运行环境百度竞价推广账户优化
  • 做网站需要哪些软件福州百度网站快速优化
  • 做家庭影院的有哪些网站网络推广网站的方法
  • 如何在服务器上放网站成都业务网络推广平台
  • 做网站济南百度站长资源
  • 百度网站收录更新seo线上培训班
  • 12380网站建设情况查询网站备案信息
  • 开发简单小程序公司浙江关键词优化
  • 网站建设怎么搞悟空建站seo服务
  • 用织梦做房产网站百度网址大全下载
  • 南宁最高端网站建设360识图