「利用者:夜泣き/スクリプト」の版間の差分
ナビゲーションに移動
検索に移動
→コード: v2.2.8 文字なし投稿で最初に改行が入るのを修正、archiveで冗長な3つ目の引数を除く
>Fet-Fe (→コード: v2.2.7 jpg以外のファイル形式の画像を取れるよう修正、youtube関係のshort用短縮url判定などのロジック追加) |
>Fet-Fe (→コード: v2.2.8 文字なし投稿で最初に改行が入るのを修正、archiveで冗長な3つ目の引数を除く) |
||
6行目: | 6行目: | ||
''' | ''' | ||
ver2.2. | ver2.2.8 2023/3/6恒心 | ||
当コードは恒心停止してしまったhttps://rentry.co/7298gの降臨ショーツイート自動収集スクリプトの復刻改善版です | 当コードは恒心停止してしまったhttps://rentry.co/7298gの降臨ショーツイート自動収集スクリプトの復刻改善版です | ||
451行目: | 451行目: | ||
print(f"{tweet_url}の動画が取得できませんでしたを 当職無能") | print(f"{tweet_url}の動画が取得できませんでしたを 当職無能") | ||
media_list.append(f"[[ファイル:(動画の取得ができませんでした)|240px]]") | media_list.append(f"[[ファイル:(動画の取得ができませんでした)|240px]]") | ||
media_txt = | media_txt = ' '.join(media_list) | ||
return media_txt | return media_txt | ||
461行目: | 461行目: | ||
link = re.sub('#.*$', '', link) | link = re.sub('#.*$', '', link) | ||
link = urljoin(self.TWITTER_URL, link) | link = urljoin(self.TWITTER_URL, link) | ||
quote_txt = | quote_txt = self._archive_url(link, link) | ||
return quote_txt | return quote_txt | ||
469行目: | 469行目: | ||
if tweet_poll is not None: | if tweet_poll is not None: | ||
poll_meters: Final[bs4.element.ResultSet] = tweet_poll.select('.poll-meter') | poll_meters: Final[bs4.element.ResultSet] = tweet_poll.select('.poll-meter') | ||
for poll_meter in poll_meters: | for poll_meter in poll_meters: | ||
ratio: str = poll_meter.select_one('.poll-choice-value').text | ratio: str = poll_meter.select_one('.poll-choice-value').text | ||
511行目: | 510行目: | ||
tweet_content: bs4.element.Tag = tweet.find(class_='tweet-content media-body') ##ツイートの中身だけ取り出す | tweet_content: bs4.element.Tag = tweet.find(class_='tweet-content media-body') ##ツイートの中身だけ取り出す | ||
self._archive_soup(tweet_content) ##ツイートの中身のリンクをテンプレートArchiveに変化 | self._archive_soup(tweet_content) ##ツイートの中身のリンクをテンプレートArchiveに変化 | ||
media_txt: str = self._get_tweet_media(tweet) ##ツイートに画像などのメディアを追加 | media_txt: str = self._get_tweet_media(tweet) ##ツイートに画像などのメディアを追加 | ||
quote_txt: str = self._get_tweet_quote(tweet) ##引用リツイートの場合、元ツイートを追加 | quote_txt: str = self._get_tweet_quote(tweet) ##引用リツイートの場合、元ツイートを追加 | ||
poll_txt: str = self._get_tweet_poll(tweet) ##投票の取得 | |||
self._check_additional_info(tweet, tweet_url) ##編集や長いツイートの省略をチェック | self._check_additional_info(tweet, tweet_url) ##編集や長いツイートの省略をチェック | ||
self._txt_data[0] = '!' + archived_tweet_url + '\n|-\n|\n' \ | self._txt_data[0] = '!' + archived_tweet_url + '\n|-\n|\n' \ | ||
+ self._escape_wiki_reserved_words(tweet_content.get_text()) \ | + '<br>\n'.join(filter(None, [ | ||
self._escape_wiki_reserved_words(tweet_content.get_text()), | |||
quote_txt, | |||
media_txt, | |||
poll_txt | |||
])) \ | |||
+ '\n|-\n' \ | |||
+ self._txt_data[0] ##wikiの文法に変化 | + self._txt_data[0] ##wikiの文法に変化 | ||
self._limit_count += 1 ##記録回数をカウント | self._limit_count += 1 ##記録回数をカウント | ||
570行目: | 574行目: | ||
#URLをテンプレートArchiveに変化させる | #URLをテンプレートArchiveに変化させる | ||
def _archive_url(self, url: Final[str], text: Final[str]) -> str: | def _archive_url(self, url: Final[str], text: Final[str]) -> str: | ||
return '{{Archive|1=' + unquote(url) + '|2=' + self._archive(url) | return '{{Archive|1=' + unquote(url) + '|2=' + self._archive(url) + '}}' ##テンプレートArchiveの文字列返す | ||
#URLをテンプレートCallinShowlinkに変化させる | #URLをテンプレートCallinShowlinkに変化させる |