在这里开一个专题,记录我的程序员麻烦

在这里开一个专题,记录我的程序员麻烦

修改链接

第一修改固定连接,首先固定连接修改成/%postname%/的结构

要注意一下几点:1.网上配置,.htaccess的文件修改很麻烦,funtions.php修改之后很可能就是乱码,网站出现问题,所以还是用插件来得快:插件名字Redirection

遇到问题

第一就是csv格式的问题,这个问题我这里上传一个格式文件这是截止目前我写这篇文章的时候的要求文件,

image

我直接把这个给gpt,然后要求她按照这个格式生成了相应的文件,按照这个写一个脚本

python

这个时候要用到python,但是遇到了下载之后不能找到启动图标的问题,后来才知道,原来真的是大象无形,真的是我们现在玩的都是傻瓜式的app,所以python其实就是一个文件夹.只要点击一个就行了

拿什么运行

本来以为就是用python运行呢,机构原来是在本地运行,window+r,然后运行cmd就可以了,然后进入到我们我们的脚本目录就行了

这个时候问题又来了,那什么保存脚本

这个时候又是下载了vs-code,幸亏是有点基础,要不然人就麻了,将gpt给我的脚本保存之后,。然后在本地运行,直接进行爬取,这个时候又是左右修补终于把自己脚本修复完毕了

import requests
from bs4 import BeautifulSoup
import csv
import re
from urllib.parse import urljoin, urldefrag
import os

def get_all_links(base_url):
    visited = set()
    to_visit = [base_url]
    links = set()
   
    while to_visit:
        url = to_visit.pop(0)
        if url in visited:
            continue
        visited.add(url)
        try:
            response = requests.get(url)
            response.raise_for_status()
            soup = BeautifulSoup(response.text, ‘html.parser’)
            for a in soup.find_all(‘a’, href=True):
                full_url = urljoin(base_url, a[‘href’])
                full_url, _ = urldefrag(full_url)  # Remove the fragment part
                if full_url.startswith(base_url) and full_url not in visited and full_url not in links:
                    links.add(full_url)
                    to_visit.append(full_url)
            print(f”Visited: {url} – Links found: {len(links)}”)
        except requests.RequestException as e:
            print(f”Failed to fetch {url}: {e}”)
    return links

def format_links(links):
    formatted_links = []
    pattern = re.compile(r’https://oversealoan.com/index.php/\d{4}/\d{2}/\d{2}/([^/]+)/’)

    for link in links:
        if ‘index.php/’ in link:
            new_link = pattern.sub(r’https://oversealoan.com/\1/’, link)
            new_link = new_link.replace(‘index.php/’, ”)
            formatted_links.append((link, new_link))
        else:
            formatted_links.append((link, link))
    return formatted_links

def write_to_csv(formatted_links, file_path):
    os.makedirs(os.path.dirname(file_path), exist_ok=True)
    with open(file_path, mode=’w’, newline=”, encoding=’utf-8′) as file:
        writer = csv.writer(file)
        writer.writerow([“source”, “target”, “regex”, “code”, “type”, “hits”, “title”, “status”])
        for source, target in formatted_links:
            writer.writerow([source, target, 0, 301, “URL”, 0, “”, “enabled”])
    print(f”CSV file has been generated and saved to {file_path}”)

def main():
    base_url = ‘https://oversealoan.com’
    print(f”Starting to crawl links from {base_url}…”)
    links = get_all_links(base_url)
    print(f”Total links found: {len(links)}”)
    formatted_links = format_links(links)
    file_path = ‘C:\\db\\redirection_rules.csv’
    write_to_csv(formatted_links, file_path)
    print(‘Process completed successfully.’)

if __name__ == “__main__”:
    main()

完事了

这个就是完整的额脚本,文件我就不上传了,给个链接

最后的最后,我还是测试了一下,发现可以就这样成功的改变了自己的固定连接,希望不要降我权吧
© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容