Products
96SEO 2025-08-15 11:57 2
python
""" Python静态网页数据分析与长尾关键词优化教程 包含三个实际案例:博客文章分析、 产品评论挖掘、新闻聚合优化 """
import re import requests from bs4 import BeautifulSoup import pandas as pd from collections import Counter import jieba import jieba.analyse from wordcloud import WordCloud import matplotlib.pyplot as plt
jieba.initialize stopwords = set for line in open])
""" 目标:提取技术博客文章的标题、发布日期和正文内容 工具:requests + BeautifulSoup + 正则表达式 """ def extractblogarticles: # 发送HTTP请求 headers = { 'User-Agent': 'Mozilla/5.0 AppleWebKit/537.36' } response = requests.get soup = BeautifulSoup
# 提取标题
titles =
# 提取发布日期
date_pattern = r'\d{4}-\d{2}-\d{2}'
dates = re.findall)
# 提取正文内容
contents =
for article in soup.select:
# 移除script和style标签
for script in article:
script.decompose
# 获取纯文本并清理多余空白
content = ' '.join.split)
contents.append
return titles, dates, contents
blogurl = "https://example-tech-blog.com" titles, dates, contents = extractblog_articles print}篇文章,首篇文章{titles}...")
""" 目标:从电商页面提取产品评论并生成关键词云 工具:BeautifulSoup + jieba分词 + WordCloud """ def analyzeproductreviews: # 获取评论数据 response = requests.get soup = BeautifulSoup reviews =
# 中文分词与关键词提取
all_text = ' '.join
words = jieba.lcut
filtered_words =
# 生成词频统计
word_freq = Counter
print)
# 创建词云可视化
wordcloud = WordCloud(
font_path='simhei.ttf',
background_color='white',
max_words=100
).generate_from_frequencies
plt.figure)
plt.imshow
plt.axis
plt.savefig
plt.close
producturl = "https://example-shop.com/product/123/reviews" analyzeproduct_reviews
""" 目标:分析竞品页面标题,优化自身长尾关键词策略 工具:正则表达式 + pandas + 关键词密度计算 """ def optimizelongtailkeywords: title_keywords =
for url in compe*****_urls:
response = requests.get
titles = re.findall', response.text)
for title in titles:
# 中文分词
words = jieba.lcut
# 过滤停用词和单字
keywords =
title_keywords.extend
# 计算关键词密度
keyword_counter = Counter
df = pd.DataFrame, columns=)
# 计算TF-IDF
total_words = sum)
df = df / total_words
# 优化建议:选择密度高但竞争度低的关键词
optimized_keywords = df>0.02].tolist
print
return optimized_keywords
compe*****urls = optimizedkeywords = optimizelongtailkeywords
""" 根据提取的数据生成SEO优化建议 """ def generateseosuggestions: # 计算关键词出现频率 contentwords = jieba.lcut keywordfreq = Counter
suggestions =
for kw in target_keywords:
count = keyword_freq.get
if count == 0:
suggestions.append
elif count <2:
suggestions.append
# 检查H标签使用
soup = BeautifulSoup
h1_tags = soup.find_all
if not h1_tags:
suggestions.append
return suggestions
blogcontent = contents # 使用案例1提取的内容 suggestions = generateseo_suggestions for s in suggestions: print
proxies = { 'http': 'http://proxy1.example.com:8080', 'https': 'https://proxy2.example.com:8080' } response = requests.get
import time time.sleep)
from selenium import webdriver driver = webdriver.Chrome driver.get soup = BeautifulSoup driver.quit
import scrapy
class BlogSpider: name = 'blog' start_urls =
def parse:
for article in response.css:
yield {
'title': article.css.get,
'content': article.css.get
}
def clean_text: # 移除特殊字符 text = re.sub # 全角转半角 text = unicodedata.normalize return text.strip
from synonymdict import synonymdict
expandkeywords = for kw in optimizedkeywords: expand_keywords.extend)
rankingdata = { 'date': pd.Timestamp.now, 'keywords': optimizedkeywords, 'serpposition': } pd.DataFrame.to_csv
合规性要求
性能优化
数据质量
通过以上三个实战案例,您可以系统掌握Python在静态网页分析和长尾关键词优化中的应用,持续提升SEO效果和数据分析能力。
Demand feedback