diff --git a/promptscrape.py b/promptscrape.py
index 8f0c565..078a23b 100644
--- a/promptscrape.py
+++ b/promptscrape.py
@@ -18,20 +18,23 @@ today = int(date.today().strftime("%d"))
month = str(date.today().strftime("%B"))
monthstring = ".*" + month + ".*"
-cent = "https://100words.dreamwidth.org/tag/!prompt?style=light&tag=%21prompt"
-centpage = requests.get(cent)
-centsoup = BeautifulSoup(centpage.content, "html.parser")
-centprompts = centsoup.find_all("h3", string=lambda text: "prompt:" in text.lower())
-centsubsoup = BeautifulSoup(str(centprompts[0]), "html.parser")
-centurl = centsubsoup.find("a")
-centprompt = (centurl["href"])
-centpromptnew = (centurl["href"] + "?style=light")
-centpromptpage = requests.get(centpromptnew)
-centpromptsoup = BeautifulSoup(centpromptpage.content, "html.parser")
-centprompttext = centpromptsoup.find(class_="entry-content")
-centtheprompt = centprompttext.find("strong")
-print("100words (100 words): \033[1m" + centtheprompt.text.lower() + "\033[0m (" + centprompt + ")\n")
-thefile.write("- [[" + centprompt + "][100words]] (100 words): *" + centtheprompt.text.lower() + "*\n")
+try:
+ cent = "https://100words.dreamwidth.org/tag/!prompt?style=light&tag=%21prompt"
+ centpage = requests.get(cent)
+ centsoup = BeautifulSoup(centpage.content, "html.parser")
+ centprompts = centsoup.find_all("h3", string=lambda text: "prompt:" in text.lower())
+ centsubsoup = BeautifulSoup(str(centprompts[0]), "html.parser")
+ centurl = centsubsoup.find("a")
+ centprompt = (centurl["href"])
+ centpromptnew = (centurl["href"] + "?style=light")
+ centpromptpage = requests.get(centpromptnew)
+ centpromptsoup = BeautifulSoup(centpromptpage.content, "html.parser")
+ centprompttext = centpromptsoup.find(class_="entry-content")
+ centtheprompt = centprompttext.find("strong")
+ print("100words (100 words): \033[1m" + centtheprompt.text.lower() + "\033[0m (" + centprompt + ")\n")
+ thefile.write("- [[" + centprompt + "][100words]] (100 words): *" + centtheprompt.text.lower() + "*\n")
+except:
+ pass
# for this one we need to extract the right entry from a list, which may be an
but may not be. also, need to use the right month, as next month’s prompts are posted in advance
# now defunct??
@@ -65,339 +68,384 @@ thefile.write("- [[" + centprompt + "][100words]] (100 words): *" + centthepromp
# thefile.write("- [[" + thirtyoneprompt + "][31-days]] (any): *" + thirtyonetheprompt.lower() + "*\n")
-ad = "https://anythingdrabble.dreamwidth.org/tag/mod!+post?style=light&tag=mod%21+post"
-adpage = requests.get(ad)
-adsoup = BeautifulSoup(adpage.content, "html.parser")
-adprompts = adsoup.find_all("h3", string=lambda text: "prompt post" in text.lower())
-adsubsoup = BeautifulSoup(str(adprompts[0]), "html.parser")
-adurl = adsubsoup.find("a")
-adprompt = (adurl["href"])
-adpromptnew = (adurl["href"] + "?style=light")
-adpromptpage = requests.get(adpromptnew)
-adpromptsoup = BeautifulSoup(adpromptpage.content, "html.parser")
-adprompttext = adpromptsoup.find(class_="entry-content")
-adtheprompt = adprompttext.find("center")
-adstrippable = str(adtheprompt.text)
-while adstrippable[-1] == " ":
- adstrippable = adstrippable[:-1]
-print("anythingdrabble (100, 200, 300, 400, or 500 words): \033[1m" + adstrippable.lower() + "\033[0m (" + adprompt + ")\n")
-thefile.write("- [[" + adprompt + "][anythingdrabble]] (100, 200, 300, 400, or 500 words): *" + adstrippable.lower() + "*\n")
+try:
+ ad = "https://anythingdrabble.dreamwidth.org/tag/mod!+post?style=light&tag=mod%21+post"
+ adpage = requests.get(ad)
+ adsoup = BeautifulSoup(adpage.content, "html.parser")
+ adprompts = adsoup.find_all("h3", string=lambda text: "prompt post" in text.lower())
+ adsubsoup = BeautifulSoup(str(adprompts[0]), "html.parser")
+ adurl = adsubsoup.find("a")
+ adprompt = (adurl["href"])
+ adpromptnew = (adurl["href"] + "?style=light")
+ adpromptpage = requests.get(adpromptnew)
+ adpromptsoup = BeautifulSoup(adpromptpage.content, "html.parser")
+ adprompttext = adpromptsoup.find(class_="entry-content")
+ adtheprompt = adprompttext.find("center")
+ adstrippable = str(adtheprompt.text)
+ while adstrippable[-1] == " ":
+ adstrippable = adstrippable[:-1]
+ print("anythingdrabble (100, 200, 300, 400, or 500 words): \033[1m" + adstrippable.lower() + "\033[0m (" + adprompt + ")\n")
+ thefile.write("- [[" + adprompt + "][anythingdrabble]] (100, 200, 300, 400, or 500 words): *" + adstrippable.lower() + "*\n")
+except:
+ pass
-dove = "https://dove-drabbles.dreamwidth.org/?style=light"
-dovepage = requests.get(dove)
-dovesoup = BeautifulSoup(dovepage.content, "html.parser")
-doveprompts = dovesoup.find_all("h3", string=lambda text: "prompt post" in text.lower())
-dovesubsoup = BeautifulSoup(str(doveprompts[0]), "html.parser")
-doveurl = dovesubsoup.find("a")
-doveprompt = (doveurl["href"])
-dovepromptnew = (doveurl["href"] + "?style=light")
-dovepromptpage = requests.get(dovepromptnew)
-dovepromptsoup = BeautifulSoup(dovepromptpage.content, "html.parser")
-doveprompttext = dovepromptsoup.find(class_="entry-content")
-dovetheprompt = doveprompttext.find("i")
-print("dove-drabbles (any): \033[1m" + dovetheprompt.text.lower() + "\033[0m (" + doveprompt + ")\n")
-thefile.write("- [[" + doveprompt + "][dove-drabbles]] (any): *" + dovetheprompt.text.lower() + "*\n")
+try:
+ dove = "https://dove-drabbles.dreamwidth.org/?style=light"
+ dovepage = requests.get(dove)
+ dovesoup = BeautifulSoup(dovepage.content, "html.parser")
+ doveprompts = dovesoup.find_all("h3", string=lambda text: "prompt post" in text.lower())
+ dovesubsoup = BeautifulSoup(str(doveprompts[0]), "html.parser")
+ doveurl = dovesubsoup.find("a")
+ doveprompt = (doveurl["href"])
+ dovepromptnew = (doveurl["href"] + "?style=light")
+ dovepromptpage = requests.get(dovepromptnew)
+ dovepromptsoup = BeautifulSoup(dovepromptpage.content, "html.parser")
+ doveprompttext = dovepromptsoup.find(class_="entry-content")
+ dovetheprompt = doveprompttext.find("i")
+ print("dove-drabbles (any): \033[1m" + dovetheprompt.text.lower() + "\033[0m (" + doveprompt + ")\n")
+ thefile.write("- [[" + doveprompt + "][dove-drabbles]] (any): *" + dovetheprompt.text.lower() + "*\n")
+except:
+ pass
-with requests.Session() as s:
- response = s.post(login_url , data)
- zone = "https://drabble-zone.dreamwidth.org/tag/mod-post?style=light&tag=mod-post"
- zonepage = s.get(zone)
- zonesoup = BeautifulSoup(zonepage.content, "html.parser")
- zoneprompts = zonesoup.find_all("h3", string=lambda text: "challenge" in text.lower())
- zonesubsoup = BeautifulSoup(str(zoneprompts[0]), "html.parser")
- zoneurl = zonesubsoup.find("a")
- zoneprompt = (zoneurl["href"])
- zonepromptnew = (zoneurl["href"] + "?style=light")
- zonepromptpage = s.get(zonepromptnew)
- zonepromptsoup = BeautifulSoup(zonepromptpage.content, "html.parser")
- zoneprompttext = zonepromptsoup.find(class_="entry-content")
- zonetheprompt = zoneprompttext.find("strong")
- print("drabble-zone (100 or 200 words): \033[1m" + zonetheprompt.text.lower() + "\033[0m (" + zoneprompt + ")\n")
- thefile.write("- [[" + zoneprompt + "][drabble-zone]] (100 or 200 words): *" + zonetheprompt.text.lower() + "*\n")
- emotion = "https://emotion100.dreamwidth.org/tag/*modpost?style=light&tag=%2Amodpost"
- emotionpage = s.get(emotion)
- emotionsoup = BeautifulSoup(emotionpage.content, "html.parser")
- emotionprompts = emotionsoup.find_all("h3", string=lambda text: "prompt" in text.lower())
- emotionsubsoup = BeautifulSoup(str(emotionprompts[0]), "html.parser")
- emotionurl = emotionsubsoup.find("a")
- emotionprompt = (emotionurl["href"])
- emotionpromptnew = (emotionurl["href"] + "?style=light")
- emotionpromptpage = s.get(emotionpromptnew)
- emotionpromptsoup = BeautifulSoup(emotionpromptpage.content, "html.parser")
- emotionprompttext = emotionpromptsoup.find(class_="entry-content")
- emotiontheprompt = emotionprompttext.find_all("span")[-1]
- print("emotion100 (100 words or a multiple of 100): \033[1m" + emotiontheprompt.text.lower() + "\033[0m (" + emotionprompt + ")\n")
- thefile.write("- [[" + emotionprompt + "][emotion100]] (100 words or a multiple of 100): *" + emotiontheprompt.text.lower() + "*\n")
+try:
+ with requests.Session() as s:
+ response = s.post(login_url , data)
+ zone = "https://drabble-zone.dreamwidth.org/tag/mod-post?style=light&tag=mod-post"
+ zonepage = s.get(zone)
+ zonesoup = BeautifulSoup(zonepage.content, "html.parser")
+ zoneprompts = zonesoup.find_all("h3", string=lambda text: "challenge" in text.lower())
+ zonesubsoup = BeautifulSoup(str(zoneprompts[0]), "html.parser")
+ zoneurl = zonesubsoup.find("a")
+ zoneprompt = (zoneurl["href"])
+ zonepromptnew = (zoneurl["href"] + "?style=light")
+ zonepromptpage = s.get(zonepromptnew)
+ zonepromptsoup = BeautifulSoup(zonepromptpage.content, "html.parser")
+ zoneprompttext = zonepromptsoup.find(class_="entry-content")
+ zonetheprompt = zoneprompttext.find("strong")
+ print("drabble-zone (100 or 200 words): \033[1m" + zonetheprompt.text.lower() + "\033[0m (" + zoneprompt + ")\n")
+ thefile.write("- [[" + zoneprompt + "][drabble-zone]] (100 or 200 words): *" + zonetheprompt.text.lower() + "*\n")
+ emotion = "https://emotion100.dreamwidth.org/tag/*modpost?style=light&tag=%2Amodpost"
+ emotionpage = s.get(emotion)
+ emotionsoup = BeautifulSoup(emotionpage.content, "html.parser")
+ emotionprompts = emotionsoup.find_all("h3", string=lambda text: "prompt" in text.lower())
+ emotionsubsoup = BeautifulSoup(str(emotionprompts[0]), "html.parser")
+ emotionurl = emotionsubsoup.find("a")
+ emotionprompt = (emotionurl["href"])
+ emotionpromptnew = (emotionurl["href"] + "?style=light")
+ emotionpromptpage = s.get(emotionpromptnew)
+ emotionpromptsoup = BeautifulSoup(emotionpromptpage.content, "html.parser")
+ emotionprompttext = emotionpromptsoup.find(class_="entry-content")
+ emotiontheprompt = emotionprompttext.find_all("span")[-1]
+ print("emotion100 (100 words or a multiple of 100): \033[1m" + emotiontheprompt.text.lower() + "\033[0m (" + emotionprompt + ")\n")
+ thefile.write("- [[" + emotionprompt + "][emotion100]] (100 words or a multiple of 100): *" + emotiontheprompt.text.lower() + "*\n")
+except:
+ pass
# for this one, have to get prompts from comments
-ffa = "https://fail-fandomanon.dreamwidth.org/?style=light"
-ffapage = requests.get(ffa)
-ffasoup = BeautifulSoup(ffapage.content, "html.parser")
-ffaprompts = ffasoup.find_all("h3", string=lambda text: "ffa dw post" in text.lower())
-ffapromptstrim = [x for x in ffaprompts if "Placeholder" not in str(x)]
-ffasubsoup = BeautifulSoup(str(ffapromptstrim[0]), "html.parser")
-ffaurl = ffasubsoup.find("a")
-ffaprompt = (ffaurl["href"])
-ffapromptnew = (ffaprompt + "?style=light")
-ffapromptpage = requests.get(ffapromptnew)
-ffapromptsoup = BeautifulSoup(ffapromptpage.content, "html.parser")
-ffaprompttext = ffapromptsoup.find(id="comments")
-ffaresoup = BeautifulSoup(str(ffaprompttext), "html.parser")
-ffatheprompt = ffaresoup.find_all("h4",text=True)
-ffacent = []
-i = 1
-while i < 8:
- ffapromptnew = (ffaprompt + "?page=" + str(i) + "&style=light")
+try:
+ ffa = "https://fail-fandomanon.dreamwidth.org/?style=light"
+ ffapage = requests.get(ffa)
+ ffasoup = BeautifulSoup(ffapage.content, "html.parser")
+ ffaprompts = ffasoup.find_all("h3", string=lambda text: "ffa dw post" in text.lower())
+ ffapromptstrim = [x for x in ffaprompts if "Placeholder" not in str(x)]
+ ffasubsoup = BeautifulSoup(str(ffapromptstrim[0]), "html.parser")
+ ffaurl = ffasubsoup.find("a")
+ ffaprompt = (ffaurl["href"])
+ ffapromptnew = (ffaprompt + "?style=light")
ffapromptpage = requests.get(ffapromptnew)
ffapromptsoup = BeautifulSoup(ffapromptpage.content, "html.parser")
ffaprompttext = ffapromptsoup.find(id="comments")
ffaresoup = BeautifulSoup(str(ffaprompttext), "html.parser")
ffatheprompt = ffaresoup.find_all("h4",text=True)
- for each in ffatheprompt:
- if "100 words of" in (str(each.get_text())) or "100 Words of" in (str(each.get_text())) or "100 Words Of" in (str(each.get_text())):
- if "Re:" not in (str(each.get_text())) and "catch-up" not in (str(each.get_text())) and "Catch-Up" not in (str(each.get_text())):
- ffacent.append(str(each.get_text()))
- i += 1
-if ffacent:
- ffacent = list(dict.fromkeys(ffacent))
- ffacentnew = []
- for x in ffacent:
- x = x[13:]
- if x != "" and not x.startswith(" Fills"):
- ffacentnew.append(x)
- ffaformat = "; ".join(ffacentnew)
- print("fail-fandomanon (any): \033[1m" + ffaformat.lower() + "\033[0m (" + ffaprompt + ")\n")
- thefile.write("- [[" + ffaprompt + "][fail-fandomanon]] (any): *" + ffaformat.lower() + "*\n")
+ ffacent = []
+ i = 1
+ while i < 8:
+ ffapromptnew = (ffaprompt + "?page=" + str(i) + "&style=light")
+ ffapromptpage = requests.get(ffapromptnew)
+ ffapromptsoup = BeautifulSoup(ffapromptpage.content, "html.parser")
+ ffaprompttext = ffapromptsoup.find(id="comments")
+ ffaresoup = BeautifulSoup(str(ffaprompttext), "html.parser")
+ ffatheprompt = ffaresoup.find_all("h4",text=True)
+ for each in ffatheprompt:
+ if "100 words of" in (str(each.get_text())) or "100 Words of" in (str(each.get_text())) or "100 Words Of" in (str(each.get_text())):
+ if "Re:" not in (str(each.get_text())) and "catch-up" not in (str(each.get_text())) and "Catch-Up" not in (str(each.get_text())):
+ ffacent.append(str(each.get_text()))
+ i += 1
+ if ffacent:
+ ffacent = list(dict.fromkeys(ffacent))
+ ffacentnew = []
+ for x in ffacent:
+ x = x[13:]
+ if x != "" and not x.startswith(" Fills"):
+ ffacentnew.append(x)
+ ffaformat = "; ".join(ffacentnew)
+ print("fail-fandomanon (any): \033[1m" + ffaformat.lower() + "\033[0m (" + ffaprompt + ")\n")
+ thefile.write("- [[" + ffaprompt + "][fail-fandomanon]] (any): *" + ffaformat.lower() + "*\n")
+except:
+ pass
# for this one, prompts are unavailable on tuesdays and wednesdays
-weekprogress = datetime.now().weekday()
-if not 0 < weekprogress < 3:
- fandom = "https://fandomweekly.dreamwidth.org/?style=light&tag=%23challenge"
- fandompage = requests.get(fandom)
- fandomsoup = BeautifulSoup(fandompage.content, "html.parser")
- fandomprompts = fandomsoup.find_all("h3", string=lambda text: "challenge post" in text.lower())
- fandomsubsoup = BeautifulSoup(str(fandomprompts[0]), "html.parser")
- fandomurl = fandomsubsoup.find("a")
- fandomprompt = (fandomurl["href"])
- fandompromptnew = (fandomurl["href"] + "?style=light")
- fandompromptpage = requests.get(fandompromptnew)
- fandompromptsoup = BeautifulSoup(fandompromptpage.content, "html.parser")
- fandomprompttext = fandompromptsoup.find(class_="entry-content")
- fandomtheprompt = fandomprompttext.find("td")
- print("fandomweekly (any, competitive): \033[1m" + fandomtheprompt.text.lower() + "\033[0m (" + fandomprompt + ")\n")
- thefile.write("- [[" + fandomprompt + "][fandomweekly]] (any, competitive): *" + fandomtheprompt.text.lower() + "*\n")
+try:
+ weekprogress = datetime.now().weekday()
+ if not 0 < weekprogress < 3:
+ fandom = "https://fandomweekly.dreamwidth.org/?style=light&tag=%23challenge"
+ fandompage = requests.get(fandom)
+ fandomsoup = BeautifulSoup(fandompage.content, "html.parser")
+ fandomprompts = fandomsoup.find_all("h3", string=lambda text: "challenge post" in text.lower())
+ fandomsubsoup = BeautifulSoup(str(fandomprompts[0]), "html.parser")
+ fandomurl = fandomsubsoup.find("a")
+ fandomprompt = (fandomurl["href"])
+ fandompromptnew = (fandomurl["href"] + "?style=light")
+ fandompromptpage = requests.get(fandompromptnew)
+ fandompromptsoup = BeautifulSoup(fandompromptpage.content, "html.parser")
+ fandomprompttext = fandompromptsoup.find(class_="entry-content")
+ fandomtheprompt = fandomprompttext.find("td")
+ print("fandomweekly (any, competitive): \033[1m" + fandomtheprompt.text.lower() + "\033[0m (" + fandomprompt + ")\n")
+ thefile.write("- [[" + fandomprompt + "][fandomweekly]] (any, competitive): *" + fandomtheprompt.text.lower() + "*\n")
+except:
+ pass
-flash = "https://fan-flashworks.dreamwidth.org/?style=light&tag=admin"
-flashpage = requests.get(flash)
-flashsoup = BeautifulSoup(flashpage.content, "html.parser")
-flashprompts = flashsoup.find_all("h3", string=lambda text: "challenge" in text.lower())
-flashsubsoup = BeautifulSoup(str(flashprompts[0]), "html.parser")
-flashurl = flashsubsoup.find("a")
-flashprompt = (flashurl["href"])
-flashpromptnew = (flashurl["href"] + "?style=light")
-flashpromptpage = requests.get(flashpromptnew)
-flashpromptsoup = BeautifulSoup(flashpromptpage.content, "html.parser")
-flashprompttext = flashpromptsoup.find(class_="entry-content")
-flashtheprompt = flashprompttext.find("center")
-print("fan-flashworks (any, can’t post elsewhere until round is closed): \033[1m" + flashtheprompt.text.lower() + "\033[0m (" + flashprompt + ")\n")
-thefile.write("- [[" + flashprompt + "][fan-flashworks]] (any, can’t post elsewhere until round is closed): *" + flashtheprompt.text.lower() + "*\n")
+try:
+ flash = "https://fan-flashworks.dreamwidth.org/?style=light&tag=admin"
+ flashpage = requests.get(flash)
+ flashsoup = BeautifulSoup(flashpage.content, "html.parser")
+ flashprompts = flashsoup.find_all("h3", string=lambda text: "challenge" in text.lower())
+ flashsubsoup = BeautifulSoup(str(flashprompts[0]), "html.parser")
+ flashurl = flashsubsoup.find("a")
+ flashprompt = (flashurl["href"])
+ flashpromptnew = (flashurl["href"] + "?style=light")
+ flashpromptpage = requests.get(flashpromptnew)
+ flashpromptsoup = BeautifulSoup(flashpromptpage.content, "html.parser")
+ flashprompttext = flashpromptsoup.find(class_="entry-content")
+ flashtheprompt = flashprompttext.find("center")
+ print("fan-flashworks (any, can’t post elsewhere until round is closed): \033[1m" + flashtheprompt.text.lower() + "\033[0m (" + flashprompt + ")\n")
+ thefile.write("- [[" + flashprompt + "][fan-flashworks]] (any, can’t post elsewhere until round is closed): *" + flashtheprompt.text.lower() + "*\n")
+except:
+ pass
-femslash = "https://femslashficlets.dreamwidth.org/tag/challenges?style=light&tag=challenges"
-femslashpage = requests.get(femslash)
-femslashsoup = BeautifulSoup(femslashpage.content, "html.parser")
-femslashprompts = femslashsoup.find_all("h3", string=lambda text: "challenge" in text.lower())
-femslashsubsoup = BeautifulSoup(str(femslashprompts[0]), "html.parser")
-femslashurl = femslashsubsoup.find("a")
-femslashprompt = (femslashurl["href"])
-femslashpromptnew = (femslashurl["href"] + "?style=light")
-femslashpromptpage = requests.get(femslashpromptnew)
-femslashpromptsoup = BeautifulSoup(femslashpromptpage.content, "html.parser")
-femslashprompttext = femslashpromptsoup.find(class_="entry-content")
-femslashtheprompt = femslashprompttext.find("i")
-if femslashtheprompt is not None:
- print("femslash-ficlets (100–1000 words, F/F): \033[1m" + femslashtheprompt.text.lower() + "\033[0m (" + femslashprompt + ")\n")
- thefile.write("- [[" + femslashprompt + "][femslashficlets]] (100 words or a multiple of 100): *" + femslashtheprompt.text.lower() + "*\n")
+try:
+ femslash = "https://femslashficlets.dreamwidth.org/tag/challenges?style=light&tag=challenges"
+ femslashpage = requests.get(femslash)
+ femslashsoup = BeautifulSoup(femslashpage.content, "html.parser")
+ femslashprompts = femslashsoup.find_all("h3", string=lambda text: "challenge" in text.lower())
+ femslashsubsoup = BeautifulSoup(str(femslashprompts[0]), "html.parser")
+ femslashurl = femslashsubsoup.find("a")
+ femslashprompt = (femslashurl["href"])
+ femslashpromptnew = (femslashurl["href"] + "?style=light")
+ femslashpromptpage = requests.get(femslashpromptnew)
+ femslashpromptsoup = BeautifulSoup(femslashpromptpage.content, "html.parser")
+ femslashprompttext = femslashpromptsoup.find(class_="entry-content")
+ femslashtheprompt = femslashprompttext.find("i")
+ if femslashtheprompt is not None:
+ print("femslash-ficlets (100–1000 words, F/F): \033[1m" + femslashtheprompt.text.lower() + "\033[0m (" + femslashprompt + ")\n")
+ thefile.write("- [[" + femslashprompt + "][femslashficlets]] (100 words or a multiple of 100): *" + femslashtheprompt.text.lower() + "*\n")
+except:
+ pass
-with requests.Session() as s:
- response = s.post(login_url , data)
- fffc = "https://fffc.dreamwidth.org/tag/!challenges?style=light&tag=%21challenges"
- fffcpage = s.get(fffc)
- fffcsoup = BeautifulSoup(fffcpage.content, "html.parser")
- if 18 > today > 9:
- fffclittleprompts = fffcsoup.find_all("h3", string=lambda text: "little special" in text.lower())
- fffclittlesubsoup = BeautifulSoup(str(fffclittleprompts[0]), "html.parser")
- fffclittleurl = fffclittlesubsoup.find("a")
- fffclittleprompt = (fffclittleurl["href"])
- fffclittlepromptnew = (fffclittleurl["href"] + "?style=light")
- fffclittlepromptpage = s.get(fffclittlepromptnew)
- fffclittlepromptsoup = BeautifulSoup(fffclittlepromptpage.content, "html.parser")
- fffclittleprompttext = fffclittlepromptsoup.find("h3")
- print("fffc little special (at least 100 words): \033[1m" + fffclittleprompttext.text.lower() + "\033[0m (" + fffclittleprompt + ")\n")
- thefile.write("- [[" + fffclittleprompt + "][fffc little special]] (at least 100 words): *" + fffclittleprompttext.text.lower() + "*\n")
- fffcmadnessprompts = fffcsoup.find_all("h3", string=lambda text: "froday madness" in text.lower())
- fffcmadnesssubsoup = BeautifulSoup(str(fffcmadnessprompts[0]), "html.parser")
- fffcmadnessurl = fffcmadnesssubsoup.find("a")
- fffcmadnessprompt = (fffcmadnessurl["href"])
- fffcmadnesspromptnew = (fffcmadnessurl["href"] + "?style=light")
- fffcmadnesspromptpage = s.get(fffcmadnesspromptnew)
- fffcmadnesspromptsoup = BeautifulSoup(fffcmadnesspromptpage.content, "html.parser")
- fffcmadnessprompttext = fffcmadnesspromptsoup.find(class_="entry-content")
- fffcmadnesstheprompt = fffcmadnessprompttext.find("b")
- print("fffc madness (at least 2000 words): \033[1m" + fffcmadnesstheprompt.text.lower() + "\033[0m (" + fffcmadnessprompt + ")\n")
- thefile.write("- [[" + fffcmadnessprompt + "][fffc madness]] (at least 2000 words): *" + fffcmadnesstheprompt.text.lower() + "*\n")
- fffcmonthlyprompts = fffcsoup.find_all("h3", string=re.compile(monthstring))
- fffcmonthlysubsoup = BeautifulSoup(str(fffcmonthlyprompts[0]), "html.parser")
- fffcmonthlyurl = fffcmonthlysubsoup.find("a")
- fffcmonthlyprompt = (fffcmonthlyurl["href"])
- fffcmonthlypromptnew = (fffcmonthlyurl["href"] + "?style=light")
- fffcmonthlypromptpage = s.get(fffcmonthlypromptnew)
- fffcmonthlypromptsoup = BeautifulSoup(fffcmonthlypromptpage.content, "html.parser")
- fffcmonthlyprompttext = fffcmonthlypromptsoup.find("h3")
- print("fffc monthly special (usually at least 500 words): \033[1m" + fffcmonthlyprompttext.text.lower() + "\033[0m (" + fffcmonthlyprompt + ")\n")
- thefile.write("- [[" + fffcmonthlyprompt + "][fffc monthly special]] (usually at least 500 words): *" + fffcmonthlyprompttext.text.lower() + "*\n")
- fffcregularprompts = fffcsoup.find_all("h3", string=lambda text: "regular challenge" in text.lower())
- fffcregularsubsoup = BeautifulSoup(str(fffcregularprompts[0]), "html.parser")
- fffcregularurl = fffcregularsubsoup.find("a")
- fffcregularprompt = (fffcregularurl["href"])
- fffcregularpromptnew = (fffcregularurl["href"] + "?style=light")
- fffcregularpromptpage = s.get(fffcregularpromptnew)
- fffcregularpromptsoup = BeautifulSoup(fffcregularpromptpage.content, "html.parser")
- fffcregularprompttext = fffcregularpromptsoup.find(class_="entry-content")
- fffcregulartheprompt = fffcregularprompttext.find("b")
- print("fffc regular challenge (at least 100 words): \033[1m" + fffcregulartheprompt.text.lower() + "\033[0m (" + fffcregularprompt + ")\n")
- thefile.write("- [[" + fffcregularprompt + "][fffc regular challenge]] (at least 100 words): *" + fffcregulartheprompt.text.lower() + "*\n")
+try:
+ with requests.Session() as s:
+ response = s.post(login_url , data)
+ fffc = "https://fffc.dreamwidth.org/tag/!challenges?style=light&tag=%21challenges"
+ fffcpage = s.get(fffc)
+ fffcsoup = BeautifulSoup(fffcpage.content, "html.parser")
+ if 18 > today > 9:
+ fffclittleprompts = fffcsoup.find_all("h3", string=lambda text: "little special" in text.lower())
+ fffclittlesubsoup = BeautifulSoup(str(fffclittleprompts[0]), "html.parser")
+ fffclittleurl = fffclittlesubsoup.find("a")
+ fffclittleprompt = (fffclittleurl["href"])
+ fffclittlepromptnew = (fffclittleurl["href"] + "?style=light")
+ fffclittlepromptpage = s.get(fffclittlepromptnew)
+ fffclittlepromptsoup = BeautifulSoup(fffclittlepromptpage.content, "html.parser")
+ fffclittleprompttext = fffclittlepromptsoup.find("h3")
+ print("fffc little special (at least 100 words): \033[1m" + fffclittleprompttext.text.lower() + "\033[0m (" + fffclittleprompt + ")\n")
+ thefile.write("- [[" + fffclittleprompt + "][fffc little special]] (at least 100 words): *" + fffclittleprompttext.text.lower() + "*\n")
+ fffcmadnessprompts = fffcsoup.find_all("h3", string=lambda text: "froday madness" in text.lower())
+ fffcmadnesssubsoup = BeautifulSoup(str(fffcmadnessprompts[0]), "html.parser")
+ fffcmadnessurl = fffcmadnesssubsoup.find("a")
+ fffcmadnessprompt = (fffcmadnessurl["href"])
+ fffcmadnesspromptnew = (fffcmadnessurl["href"] + "?style=light")
+ fffcmadnesspromptpage = s.get(fffcmadnesspromptnew)
+ fffcmadnesspromptsoup = BeautifulSoup(fffcmadnesspromptpage.content, "html.parser")
+ fffcmadnessprompttext = fffcmadnesspromptsoup.find(class_="entry-content")
+ fffcmadnesstheprompt = fffcmadnessprompttext.find("b")
+ print("fffc madness (at least 2000 words): \033[1m" + fffcmadnesstheprompt.text.lower() + "\033[0m (" + fffcmadnessprompt + ")\n")
+ thefile.write("- [[" + fffcmadnessprompt + "][fffc madness]] (at least 2000 words): *" + fffcmadnesstheprompt.text.lower() + "*\n")
+ fffcmonthlyprompts = fffcsoup.find_all("h3", string=re.compile(monthstring))
+ fffcmonthlysubsoup = BeautifulSoup(str(fffcmonthlyprompts[0]), "html.parser")
+ fffcmonthlyurl = fffcmonthlysubsoup.find("a")
+ fffcmonthlyprompt = (fffcmonthlyurl["href"])
+ fffcmonthlypromptnew = (fffcmonthlyurl["href"] + "?style=light")
+ fffcmonthlypromptpage = s.get(fffcmonthlypromptnew)
+ fffcmonthlypromptsoup = BeautifulSoup(fffcmonthlypromptpage.content, "html.parser")
+ fffcmonthlyprompttext = fffcmonthlypromptsoup.find("h3")
+ print("fffc monthly special (usually at least 500 words): \033[1m" + fffcmonthlyprompttext.text.lower() + "\033[0m (" + fffcmonthlyprompt + ")\n")
+ thefile.write("- [[" + fffcmonthlyprompt + "][fffc monthly special]] (usually at least 500 words): *" + fffcmonthlyprompttext.text.lower() + "*\n")
+ fffcregularprompts = fffcsoup.find_all("h3", string=lambda text: "regular challenge" in text.lower())
+ fffcregularsubsoup = BeautifulSoup(str(fffcregularprompts[0]), "html.parser")
+ fffcregularurl = fffcregularsubsoup.find("a")
+ fffcregularprompt = (fffcregularurl["href"])
+ fffcregularpromptnew = (fffcregularurl["href"] + "?style=light")
+ fffcregularpromptpage = s.get(fffcregularpromptnew)
+ fffcregularpromptsoup = BeautifulSoup(fffcregularpromptpage.content, "html.parser")
+ fffcregularprompttext = fffcregularpromptsoup.find(class_="entry-content")
+ fffcregulartheprompt = fffcregularprompttext.find("b")
+ print("fffc regular challenge (at least 100 words): \033[1m" + fffcregulartheprompt.text.lower() + "\033[0m (" + fffcregularprompt + ")\n")
+ thefile.write("- [[" + fffcregularprompt + "][fffc regular challenge]] (at least 100 words): *" + fffcregulartheprompt.text.lower() + "*\n")
+except:
+ pass
-ficlet = "https://ficlet-zone.dreamwidth.org/tag/challenge+post?style=light&tag=challenge+post"
-ficletpage = requests.get(ficlet)
-ficletsoup = BeautifulSoup(ficletpage.content, "html.parser")
-ficletprompts = ficletsoup.find_all("h3", string=lambda text: "challenge" in text.lower())
-ficletsubsoup = BeautifulSoup(str(ficletprompts[0]), "html.parser")
-ficleturl = ficletsubsoup.find("a")
-ficletprompt = (ficleturl["href"])
-ficletpromptnew = (ficleturl["href"] + "?style=light")
-ficletpromptpage = requests.get(ficletpromptnew)
-ficletpromptsoup = BeautifulSoup(ficletpromptpage.content, "html.parser")
-ficletprompttext = ficletpromptsoup.find(class_="entry-content")
-ficlettheprompt = ficletprompttext.find("a")
-print("ficlet-zone (any): \033[1m" + ficlettheprompt.text.lower() + "\033[0m (" + ficletprompt + ")\n")
-thefile.write("- [[" + ficletprompt + "][ficlet-zone]] (any): *" + ficlettheprompt.text.lower() + "*\n")
+try:
+ ficlet = "https://ficlet-zone.dreamwidth.org/tag/challenge+post?style=light&tag=challenge+post"
+ ficletpage = requests.get(ficlet)
+ ficletsoup = BeautifulSoup(ficletpage.content, "html.parser")
+ ficletprompts = ficletsoup.find_all("h3", string=lambda text: "challenge" in text.lower())
+ ficletsubsoup = BeautifulSoup(str(ficletprompts[0]), "html.parser")
+ ficleturl = ficletsubsoup.find("a")
+ ficletprompt = (ficleturl["href"])
+ ficletpromptnew = (ficleturl["href"] + "?style=light")
+ ficletpromptpage = requests.get(ficletpromptnew)
+ ficletpromptsoup = BeautifulSoup(ficletpromptpage.content, "html.parser")
+ ficletprompttext = ficletpromptsoup.find(class_="entry-content")
+ ficlettheprompt = ficletprompttext.find("a")
+ print("ficlet-zone (any): \033[1m" + ficlettheprompt.text.lower() + "\033[0m (" + ficletprompt + ")\n")
+ thefile.write("- [[" + ficletprompt + "][ficlet-zone]] (any): *" + ficlettheprompt.text.lower() + "*\n")
+except:
+ pass
# first calculate the hour of the month …
-hourselapsed = (today - 1) * 24
-hourstoday = int(datetime.now().strftime("%H"))
-currenthour = (hourselapsed + hourstoday)
-with requests.Session() as s:
- response = s.post(login_url , data)
- hourly = "https://hourlyprompts.dreamwidth.org/?style=light"
- hourlypage = s.get(hourly)
- hourlysoup = BeautifulSoup(hourlypage.content, "html.parser")
- hourlyprompts = hourlysoup.find_all("h3", string=re.compile(monthstring))
- hourlysubsoup = BeautifulSoup(str(hourlyprompts[0]), "html.parser")
- hourlyurl = hourlysubsoup.find("a")
- hourlyprompt = (hourlyurl["href"])
- hourlypromptnew = (hourlyurl["href"] + "?style=light")
- hourlypromptpage = s.get(hourlypromptnew)
- hourlypromptsoup = BeautifulSoup(hourlypromptpage.content, "html.parser")
- hourlyprompttext = hourlypromptsoup.find(class_="entry-content")
- searchstring = r"
" + re.escape(str(currenthour)) + r"\. .*?
"
- hourlypromptmedian = re.findall(searchstring, str(hourlyprompttext))
- hourlypromptthishour = str(hourlypromptmedian[0])[5:-5]
- print("hourlyprompts (any): \033[1m" + hourlypromptthishour.lower() + "\033[0m (" + hourlyprompt + ")\n")
- thefile.write("- [[" + hourlyprompt + "][hourlyprompts]] (any): *" + hourlypromptthishour.lower() + "*\n")
+try:
+ hourselapsed = (today - 1) * 24
+ hourstoday = int(datetime.now().strftime("%H"))
+ currenthour = (hourselapsed + hourstoday)
+ with requests.Session() as s:
+ response = s.post(login_url , data)
+ hourly = "https://hourlyprompts.dreamwidth.org/?style=light"
+ hourlypage = s.get(hourly)
+ hourlysoup = BeautifulSoup(hourlypage.content, "html.parser")
+ hourlyprompts = hourlysoup.find_all("h3", string=re.compile(monthstring))
+ hourlysubsoup = BeautifulSoup(str(hourlyprompts[0]), "html.parser")
+ hourlyurl = hourlysubsoup.find("a")
+ hourlyprompt = (hourlyurl["href"])
+ hourlypromptnew = (hourlyurl["href"] + "?style=light")
+ hourlypromptpage = s.get(hourlypromptnew)
+ hourlypromptsoup = BeautifulSoup(hourlypromptpage.content, "html.parser")
+ hourlyprompttext = hourlypromptsoup.find(class_="entry-content")
+ searchstring = r"
" + re.escape(str(currenthour)) + r"\. .*?
"
+ hourlypromptmedian = re.findall(searchstring, str(hourlyprompttext))
+ hourlypromptthishour = str(hourlypromptmedian[0])[5:-5]
+ print("hourlyprompts (any): \033[1m" + hourlypromptthishour.lower() + "\033[0m (" + hourlyprompt + ")\n")
+ thefile.write("- [[" + hourlyprompt + "][hourlyprompts]] (any): *" + hourlypromptthishour.lower() + "*\n")
+except:
+ pass
-if 30 > today > 21:
- ssbingo = "https://sweetandshort.dreamwidth.org/tag/challenge:+bingo?style=light&tag=challenge:+bingo"
- ssbingopage = requests.get(ssbingo)
- ssbingosoup = BeautifulSoup(ssbingopage.content, "html.parser")
- ssbingoprompts = ssbingosoup.find_all("h3")
- ssbingosubsoup = BeautifulSoup(str(ssbingoprompts[0]), "html.parser")
- ssbingourl = ssbingosubsoup.find("a")
- ssbingoprompt = (ssbingourl["href"])
- ssbingopromptnew = (ssbingourl["href"] + "?style=light")
- ssbingopromptpage = requests.get(ssbingopromptnew)
- ssbingopromptsoup = BeautifulSoup(ssbingopromptpage.content, "html.parser")
- ssbingoprompttext = ssbingopromptsoup.find(class_="entry-content")
- ssbingotheprompt = ssbingoprompttext.find_all("td")
- ssbingoclean = []
- for prompt in ssbingotheprompt:
- newprompt = re.sub("<.*?>","",str(prompt))
- ssbingoclean.append(newprompt)
- ssbingofinal = "; ".join(ssbingoclean).lower()
- print("sweet and short bingo (up to 300 words for two prompts, up to 600 words for four prompts): \033[1m" + ssbingofinal + "\033[0m (" + ssbingoprompt + ")\n")
- thefile.write("- [[" + ssbingoprompt + "][sweet and short bingo]] (up to 300 words for two prompts, up to 600 words for four prompts): *" + ssbingofinal + "*\n")
-
-if 16 > today > 7:
- ssquicky = "https://sweetandshort.dreamwidth.org/tag/!new+challenge,challenge:+comment+quicky?mode=and&style=light&tag=%21new+challenge,challenge:+comment+quicky"
- ssquickypage = requests.get(ssquicky)
- ssquickysoup = BeautifulSoup(ssquickypage.content, "html.parser")
- ssquickyprompts = ssquickysoup.find_all("h3")
- ssquickysubsoup = BeautifulSoup(str(ssquickyprompts[0]), "html.parser")
- ssquickyurl = ssquickysubsoup.find("a")
- ssquickyprompt = (ssquickyurl["href"])
- # deliberately not using style=light here so we can get at the comment contents
- ssquickypromptnew = (ssquickyurl["href"])
- ssquickypromptpage = requests.get(ssquickypromptnew)
- ssquickypromptsoup = BeautifulSoup(ssquickypromptpage.content, "html.parser")
- promptcatch = ".*New Prompts Here"
- # ssquickytheprompt = ssquickypromptsoup.find_all("h4",string = re.compile(promptcatch))
- ssquickytheprompt = ssquickypromptsoup.find_all(class_="comment")
- ssquickycomments = []
- for comment in ssquickytheprompt:
- if re.search("New Prompts Here",str(comment)):
- commenttext = re.findall(r"