質問編集履歴

2

ko-donohenshuu

2022/09/27 03:13

投稿

ngmg
ngmg

スコア73

test CHANGED
File without changes
test CHANGED
@@ -23,69 +23,6 @@
23
23
  news = {}
24
24
 
25
25
  async def main():
26
-
27
- async with aiohttp.ClientSession() as session:
28
- urls = {
29
- 'https://news.yahoo.co.jp/ranking/access/news': news,
30
- }
31
- promises = [fetch(session, url, dic) for url, dic in urls.items()]
32
- await asyncio.gather(*promises)
33
-
34
-
35
- async def fetch(session, url, dic):
36
-
37
- async with async_timeout.timeout(100):
38
- async with session.get(url) as response:
39
- html = await response.text()
40
- soup = BeautifulSoup(html, "html.parser")
41
-
42
- # もし辞書が空の時(再起動等で辞書が空のとき)
43
- if any(dic) == False:
44
-
45
- promises = [first_items(item, dic) for item in soup.find_all(class_="newsFeed_item newsFeed_item-normal newsFeed_item-ranking")]
46
- await asyncio.gather(*promises)
47
-
48
- print("辞書に全アイテム登録完了")
49
- return
50
-
51
- promises = [get_items(item, dic) for item in soup.find_all(class_="newsFeed_item newsFeed_item-normal newsFeed_item-ranking")]
52
- await asyncio.gather(*promises)
53
-
54
-
55
-
56
- await asyncio.sleep(5)
57
-
58
- return
59
-
60
- async def first_items(item, dic):
61
- title = item.select_one('div.newsFeed_item_title').text
62
- url = item.select_one('a.newsFeed_item_link').get('href')
63
- newstime = item.select_one('time.newsFeed_item_date').text
64
-
65
- dic[title] = {'url': url, 'time': newstime}
66
-
67
-
68
- async def get_items(item, dic):
69
- channel_sent = bot.get_channel(1012237139729199136)
70
- title = item.select_one('div.newsFeed_item_title').text
71
- url = item.select_one('a.newsFeed_item_link').get('href')
72
- newstime = item.select_one('time.newsFeed_item_date').text
73
-
74
-
75
- # もし辞書に新しいタイトルが登録されていなかったら
76
- if dic.get(title, None) is None:
77
- dic[title] = {'url': url, 'time': newstime}
78
- await channel_sent.send(title + "\n" + url + "\n" + newstime)
79
-
80
-
81
- @tasks.loop(minutes=1)
82
- async def send_message_every():
83
- await main()
84
- gc.collect()
85
-
86
- @bot.event
87
- async def on_ready():
88
- send_message_every.start() # ループ処理開始
89
26
  ```
90
27
 
91
28
  ### 試したこと

1

タイトルの変更

2022/09/25 03:37

投稿

ngmg
ngmg

スコア73

test CHANGED
@@ -1 +1 @@
1
- dhiscord.py メモリ使用量と開放について
1
+ discord.py pythonメモリ使用量と開放について
test CHANGED
File without changes