由于用chatgpt采集了一堆数据,想要发到网站上。下面提出两种方法,各有优缺点,请各取所需。

发邮件的方式

一、首先需要安装插件Jetpack,这个插件有个功能就是通过发邮件到某个邮箱实现发贴功能。生成一个独一无二的邮箱,发邮件即为发文章。

二、发采集数据到wordpress也就转换成了发文章到邮箱的问题了,这个使用chatgpt直接辅助编程即可,基本上30分钟内可以搞定。使用chatgpt可以选择python、PHP等任意语言,我自己对C#比较熟悉,就选这个了。通过这种方法也可附加PDF或图像,也可以设定文章分类、状态、发贴人等信息,具体详见https://jetpack.com/support/post-by-email/?site=xycost.com。需要者可联系站长提供源码。

    private void button2_Click(object sender, EventArgs e)
    {
        string csvFilePath = "search_results.csv";
        string recipientEmail = "xycostremu@post.wordpress.com";//上面jetpack生成的邮箱
        string senderEmail = "xycost1221@163.com";
        string senderPassword = "ULPYZQRJGEZOCYFX";//注意是授权码不是邮箱密码
        try
        {
            using (StreamReader reader = new StreamReader(csvFilePath))
            {
                string line;
                reader.ReadLine();
                while ((line = reader.ReadLine()) != null)
                {
                    string[] data = line.Split(',');

                    // 提取CSV行中的数据
                    string title = data[0];
                    string link = data[1];
                    string description = data[2];
                    string content = data[2];

                    // 发送邮件
                    SendEmail(senderEmail, senderPassword, recipientEmail, title, link, description, content);
                }
            }

            Console.WriteLine("邮件发送完成!");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"发送邮件时发生错误:{ex.Message}");
        }
    }
    static void SendEmail(string senderEmail, string senderPassword, string recipientEmail, string title, string link, string description, string content)
    {
        try
        {
            MailMessage mail = new MailMessage();
            SmtpClient client = new SmtpClient("smtp.163.com", 25); // 163邮箱的SMTP服务器地址和端口号,也可使用QQ邮箱

            mail.From = new MailAddress(senderEmail);
            mail.To.Add(recipientEmail);
            mail.Subject = title;
            mail.Body = $"Content: {content}";//Link: {link}\nDescription: {description}\n,可按自己要求的格式订制。
            mail.BodyEncoding = Encoding.UTF8;
            //设置为HTML格式
            mail.IsBodyHtml = true;
            //优先级
            mail.Priority = MailPriority.Low;
            client.DeliveryMethod = SmtpDeliveryMethod.Network;

            client.EnableSsl = true;
            client.UseDefaultCredentials = false;
            client.Credentials = new NetworkCredential(senderEmail, senderPassword);

            client.Send(mail);
        }
        catch (Exception ex)
        {
            Console.WriteLine($"发送邮件时发生错误:{ex.Message}");
        }
    }

使用网站原生REST API

如果要使用RESTAPI发表文章,经过试验后以下方法可用。

        string apiUrl = "https://xycost.com";

        // Your WordPress username and password
        string username = "你的用户名";
        string password = "你的密码";

        WordPressApiClient wpApiClient = new WordPressApiClient(apiUrl, username, password);
         await wpApiClient.CreatePost(title, content);
  public class WordPressApiClient
    {
        private string baseUrl;
        private string username;
        private string password;

        public WordPressApiClient(string baseUrl, string username, string password)
        {
            this.baseUrl = baseUrl;
            this.username = username;
            this.password = password;
        }

        public async Task<string> CreatePost(string title, string content)
        {
            // 构造表单数据
            var formData = new Dictionary<string, string>
        {
            { "title", title },
            { "content", content }
            // 可添加其他表单数据字段...
        };

            using (HttpClient httpClient = new HttpClient())
            {
                try
                {
                    // 设置基本认证头部
                    var byteArray = Encoding.ASCII.GetBytes($"{username}:{password}");
                    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

                    // 发送 POST 请求,并将表单数据作为请求体发送
                    HttpResponseMessage response = await httpClient.PostAsync($"{baseUrl}/wp-json/wp/v2/posts", new FormUrlEncodedContent(formData));

                    // 处理响应结果
                    if (response.IsSuccessStatusCode)
                    {
                        string responseContent = await response.Content.ReadAsStringAsync();
                        // 解析响应的 JSON 数据,获取文章的 ID 或其他信息
                        dynamic responseData = JsonConvert.DeserializeObject(responseContent);
                        string postId = responseData.id;
                        return postId;
                    }
                    else
                    {
                        // 处理请求错误
                        string errorMessage = await response.Content.ReadAsStringAsync();
                        return $"发生错误:{errorMessage}";
                    }
                }
                catch (Exception ex)
                {
                    // 处理异常
                    return $"发生异常:{ex.Message}";
                }
            }
        }
    }
0

评论0

请先
电力建设工程工期定额2022年版(全套三册)高清版下载-中电联定额〔2022〕312号
电力建设工程工期定额2022年版(全套三册)高清版下载-中电联定额〔2022〕312号
5分钟前 有人购买 去瞅瞅看

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录网站