@Blog
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
ワードプレス過去記事のツイートをボット化する方法。
2019.11.05
WordPress(ワードプレス)の過去記事をツイートしたいけど
結構大変ですと断られる業者は腕なしかもしれない。
簡単に作れます。Composerをインストールして
TwitterOAuthのライブラリー入れてあげて、ワードプレスのwp-load.phpと
TwitterOAuthのライブラリー を参照するような下記コードを作るだけで
ツイートが可能です。
これを自動化するにはcrontab(クロンタブ)という機能で実行できます。
ほとんどのレンタルサーバーにこの機能はついています。
うちのサーバーはWindowsサーバーなんでとかいう場合は
スケジュールでなんとかしてくださいと言えばOKです。
これを実装するのに発生する単価は1万ぐらいじゃないかと思います。
それ以上高ければ、ぼったくられています。
1万円が高いかどうか?
ちなみに普通のプログラマーはこれを構築するのに30分もかからないです。
人件費を考えるとそれぐらいが妥当だと思います。
いまクラウドワークスなどで頼めば5000円以下で対応してくれる人も
いますが、単価が下がるとそれは最終的に自分の首を絞めることに
なります。なので1万円ぐらいが妥当だと思います。
<?php
//ひとつ英語名のフォルダ作って、これいれてあげて
require_once ('../wp-load.php');
require_once ("../vendor/autoload.php");
use AbrahamTwitterOAuthTwitterOAuth;
define("CONSUMER_KEY","コンシューマーキー");
define("CONSUMER_SECRET","コンシューマーシークレット");
define("ACCESS_TOKEN","アクセストークン");
define("ACCESS_TOKEN_SECRET","アクセストークンシークレット");
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, ACCESS_TOKEN_SECRET);
$args = array(
'post_status' => 'publish',
'posts_per_page' => 1,
'orderby' => 'rand'
);
$posts = get_posts($args);
foreach ( $posts as $val ){
$href = get_permalink($val->ID);
$title = get_the_title($val->ID);
$res = $connection->post("statuses/update", array("status" =>$title . " n" . $href . " n#黒歴史ってなんだ? #ブログ ".date('Y/m/d H:i:s')));
}
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 30, Composer, crontab, OK, php, TwitterOAuth, Windows, WordPress, wp-load, インストール, うち, ぐ, クロン, コード, これ, サーバー, スケジュール, それ, タブ, ツイート, プレス, プログラマー, ボット, ほとんど, ライブラリー, レンタル, ワード, 万, 下記, 人件, 単価, 参照, 可能, 場合, 大変, 実行, 実装, 方法, 普通, 業者, 構築, 機能, 発生, 簡単, 腕, 自動, 記事, 過去,
さくらレンタルサーバーとかで制限以上のクロンタブ(crontab)を使う方法。
2018.11.08
さくらレンタルサーバーとかで制限以上のクロンタブ(crontab)を使う方法
10年ぐらいまえのコードを見直して改善したコードが下記になります。
10年前はクラスを使わない方法で構築したのだけど、今回はクラスの概念を
使って構築。ここ何年かで自分のコーディングの技術は上がっているかといえば
そうでもないですが、昔よりかは技術の幅は広がっていると思いたいw
※qiita日付は数年前にUPしたのですけど、コード自体は10年前のコードです。
追記:2022/10/08 修正:詳しくはコチラ
https://qiita.com/question909/items/8f1df9b62ab4fba76243
<?php
//5分刻みに対して有効な無限クローン 処理が負荷の場合どうなるかは知りません。
date_default_timezone_set('Asia/Tokyo');
class cron{
public function d_m($obj)
{
if($obj->m==="*")return true;
if(preg_match("/,/",$obj->m))return $this->comma($obj->m,date("m"));
if((int)$obj->m === (int)date("m"))return true;
return false;
}
public function d_d($obj)
{
if($obj->d==="*")return true;
if(preg_match("/,/",$obj->d))return $this->comma($obj->d,date("d"));
if((int)$obj->d === (int)date("d"))return true;
return false;
}
public function d_H($obj)
{
if(preg_match("/\*\/[0-9]{1,2}/",$obj->H)){
$H = explode("/",$obj->H);
if((int)$H[1]>0 && ((int)date("H") % (int)$H[1])===0)return true;
}else{
if($obj->H==="*")return true;
if(preg_match("/,/",$obj->H))return $this->comma($obj->H,date("H"));
if((int)$obj->H === (int)date("H"))return true;
}
return false;
}
public function d_i($obj)
{
if(preg_match("/\*\/[0-9]{1,2}/",$obj->i)){
$i = explode("/",$obj->i);
if((int)$i[1]>0 && ((int)date("i") % (int)$i[1])===0)return true;
}else{
if($obj->i==="*")return true;
if(preg_match("/,/",$obj->i))return $this->comma($obj->i,date("i"));
if((int)$obj->i === (int)date("i"))return true;
}
return false;
}
//曜日 0=日曜日 6=土曜日
public function d_w($obj)
{
if((int)$obj->w[date("w")]===1)return true;
return false;
}
public function comma($c="",$t=""){
if($c==="")return false;
if($t==="")return false;
$flg = false;
foreach(explode(",",$c) as $cc){
if((int)$cc===(int)$t)$flg = true;
}
return $flg;
}
public function d_command($obj){
if($obj->command){
exec($obj->command . " > /dev/null &");
}
return true;
}
}
if ($argv[1]) {
$filename = $argv[1];
if(is_file($filename)){
$jsn = json_decode(file_get_contents($filename));
$cron = new cron();
try {
foreach($jsn as $obj){
if($cron->d_m($obj)){
if($cron->d_d($obj)){
if($cron->d_H($obj)){
if($cron->d_i($obj)){
if($cron->d_w($obj)){
$cron->d_command($obj);//波動拳{{{{
}
}
}
}
}
}
} catch (\Throwable $th) {
print $th->getMessage();
}
}
}
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
08, 10, 2022, 39, 5, Asia, class, cron, crontab, date, default, function, if, lt, obj, php, public, qiita, set, timezone, Tokyo, UP, w, クラス, クローン, クロン, コーディング, コード, ここ, コチラ, サーバー, さくら, タブ, まえ, レンタル, 下記, 今回, 何年か, 修正, 処理, 分刻み, 制限, 場合, 幅, 技術, 改善, 数, 方法, 日付, 昔, 有効, 概念, 構築, 無限, 自体, 自分, 負荷, 追記,
高知県の商店街でもネットが無料でできる公衆無線lanよさこいタウンWi-Fi!!
2016.12.02
高知県の商店街でもネットが無料でできる公衆無線lanよさこいタウンWi-Fiが今年(2016年)の3月から提供されているという事を今日の朝、知りました。
NTTが構築されている公衆無料wifiなので安全性はそれなりに確保されているように思えます。
ちなみに無料で使用できる時間は60分(15分*4回)となっているようです。
こういうのって、もっとネットで広告なりで広告宣伝すれば高知県の商店街に足を運ぶお客さんや県外や海外のひとが増えるように思えます。
まだまだ認知度が低い・・・ように感じてならないな。
高知県の商店街もこの頃、黒船?イオンが来た当時に比べると活気が元に戻ってきているように思えます。
もっと高知県に足を運んでもらえるためには
これかな?↓
ネット広告を使って海外や県外に観光を配信すると結構、足を運ぶ人が増えるようになると思うのです、
広告をクリックすると・・・旅プランサイトが出てきて、、、、
提携している会社のプラン・・・を選ぶと商店街に収益が発生して広告費が
トン・トンになるようなシステムを作れば
winwin(ウィンウィン)になるじゃないかなと。
追記:よさこいタウンWi-fi今も使用できるか不明。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
15, 2016, 3, 4, 60, LAN, NTT, Wi-Fi, wifi, イオン, お客さん, クリック, これ, サイト, それなり, ダウン, ため, ネット, ひと, プラ, プラン, よう, よさこい, 事, 人, 今年, 今日, 会社, 使用, 元, 公衆, 商店街, 安全性, 宣伝, 広告, 当時, 提供, 提携, 旅, 時間, 朝, 構築, 活気, 海外, 無料, 無線, 県外, 確保, 観光, 認知, 足, 配信, 頃, 高知県, 黒船,
お金があると良いなと思うことがある?YES OR NO
2016.07.23
自分にとって寝苦しい夜が続いていて、夜中に目が醒めて2時間ぐらい起きて
サイトの構築とかしてたりします。
今日のお題は「お金があると良いなと思うことがある?YES OR NO」です。
自分にとってお金は無いよりある方が良いと思っています。
そう思うことがこの頃あるです。ちょっと岡山まで行きたいなと
思ったのですが・・・岡山まで高知から電車で行くと
往復で1万円以上かかります。
この一万円がこの頃、勿体無くてしょうが無いと
思うようになりました。むかしは一万円を何も考えもなしに
使っていたのですけど、この頃はこの一万円で何が買えるという
事を考えてから、消費するかどうか考えるようになりました。
例えば、一万円あればディスプレイが買えます。
洋服も買えちゃうわけです・・・そう思うと旅に使うより
そっちに使用したら良いじゃないかと思うわけです。
そういう事をいろいろ考えると、消費しないで
済んだりします。そういうわけで、自分はYESですね。
とくに、余裕金が今はない状態です。
お金ってどうやって増やしていけばよいのだろうか?
こんな事なら二十歳ぐらいから貯金していたらなと思います(´Д`)。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
YES OR NO, お金, お題, しょう, ディスプレイ, むかし, 一万円, 夜中, 寝苦しい夜, 岡山, 往復, 構築, 洋服, 王様文庫, 習慣, 高知,
Gitサーバを構築するという事になり。
2016.01.04
大晦日から元旦かけて、会社でGitサーバを構築するいう事になり勉強をしていました。
Gitサーバを立ち上げようと発案したのは自分、じぶんが発案者なので
勉強するのも道理だろうとGitサーバを勉強しました。
結論から言えば出来たのですが、いまいち完璧に
理屈がわかったのではなく、こうすればMacでもWindowsでも
動くという事がわかっただけです。
ちなみに構築方法はそのうち掲載します・・・・うそ。
ってそれほど難しい話ではなかったので掲載します。
#------------Git------------------------ yum -y install git git config --global core.quotepath false git config --global color.diff auto git config --global color.status auto git config --global color.branch auto cd /var/wwww/html git init --shared=true git status git add . git commit -m 'new' git config --bool core.bare true git config --get-all core.bare #-------------Key------------------- ssh-keygen -t rsa cd /root/.ssh cp id_rsa /var/www/html
まず、初めにGitサーバをインストールします。
だいたい、初期の状態でインストールされています。
次にGit(ギット)のコンフィグの設定を行い、リポジトリを作成したい
階層まで行きリポジトリを作成します。addし後にコミットして完了です。
こちらがリモートリポジトリになります。
そしてローカル側にもGitをインストールします。
例えば、sourcetreeなどをWindowsにインストールします。
(※GUIでインストールを行ってください。CUIではなく:真ん中の選択肢を押下?)
まず最初に先ほど作成したsshのkey(秘密鍵?公開鍵?=id_rsa)を
ローカルにダウンロードします、その後、puttygen.exeなどを使いppkに
変換を行います。(ppk変換方法はこちら)
次にsourcetreeの初期設定としてkeyの登録を行います。
先ほどppkに変換したファイルを参照します(ツール→オプション)。
参照後、新規/クローンを選択しリモートリポジトリとローカルリポジトリ作成場所を
選択してクローンの作成を行います。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
-y, auto, branch, color, config, diff, false, git, global, install, Mac, quotepath, status, Windows, yum, いまいち, ウソ, うち, サーバ, じぶん, 事, 会社, 元旦, 勉強, 大晦日, 完璧, 掲載, 方法, 構築, 理屈, 発案, 発案者, 結論, 自分, 話, 道理,

さくらのVPSを使ってみた。標準OSインストールは初心者におすすめ。
2015.04.04
さくらVPSを使ってみた。さくらVPSをレンタルして標準OSインストールしてみました。インストール後、root権限でログインしてApacheをインストール(yum install httpd )してみたら、そのままの状態でWEBが表示された・・・・。ポートの開放とかの設定はしなくても良かったです。標準OSのセキュリティの設定でゴニョゴニョされていて特にWEBで使う分にはiptablesを触らなくても良さそうでした。インストール後、phpをインストールしてhttpdのconfig設定を変更して再起動すればphpが実行できる環境になりますから、あとはMysqlをインストールしたい方は、インストールしてゴニョゴニョ設定するだけでWEB環境を整います。あとは、ftpを使用したい方はインストール(yum install vsftpd)すれば良いだけです。FTP経由かSSH経由でコードをアップロードすればサイトを構築できてしまいます。
著者名
@taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
Apache, config, FTP, httpd, install, iptables, MYSQL, OS, php, root, SSH, VPS, vsftpd, web, yum, アップロード, あと, いま, インストール, おすすめ, コード, ゴニョゴニョ, サイト, さくら, さくらの, セキュリティ, そのまま, ポート, レンタル, ログイン, 使用, 再起動, 分, 初心者, 変更, 実行, 方, 構築, 標準, 権限, 状態, 環境, 経由, 表示, 設定, 開放,