Skip to content

Commit e8e8b6e

Browse files
Adds support for meatchurch.com (#1893)
* Adds support for meatchurch.com Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Apply code review feedback for meatchurch.com scraper - Simplify title() to use og:title meta tag directly - Remove custom image() in favor of default plugin implementation - Add total_time() and yields() raising FieldNotProvidedByWebsiteException - Update test JSON with yields: null and total_time: null Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 8d31631 commit e8e8b6e

4 files changed

Lines changed: 3154 additions & 0 deletions

File tree

recipe_scrapers/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,7 @@
379379
from .matprat import Matprat
380380
from .mccormick import McCormick
381381
from .mealprepmanual import MealPrepManual
382+
from .meatchurch import MeatChurch
382383
from .meganvskitchen import MeganVsKitchen
383384
from .meljoulwan import Meljoulwan
384385
from .mellisaknorris import MellisaKNorris
@@ -1029,6 +1030,7 @@
10291030
Matprat.host(): Matprat,
10301031
McCormick.host(): McCormick,
10311032
MealPrepManual.host(): MealPrepManual,
1033+
MeatChurch.host(): MeatChurch,
10321034
MeganVsKitchen.host(): MeganVsKitchen,
10331035
Meljoulwan.host(): Meljoulwan,
10341036
MellisaKNorris.host(): MellisaKNorris,

recipe_scrapers/meatchurch.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
from ._abstract import AbstractScraper
2+
from ._exceptions import FieldNotProvidedByWebsiteException
3+
from ._utils import normalize_string
4+
5+
6+
class MeatChurch(AbstractScraper):
7+
@classmethod
8+
def host(cls):
9+
return "meatchurch.com"
10+
11+
def site_name(self):
12+
return "Meat Church"
13+
14+
def author(self):
15+
return "Meat Church"
16+
17+
def title(self):
18+
return self.soup.find("meta", property="og:title")["content"]
19+
20+
def ingredients(self):
21+
article = self.soup.find("div", class_="article__content")
22+
if not article:
23+
return []
24+
ingredients = []
25+
for ul in article.find_all("ul"):
26+
for li in ul.find_all("li"):
27+
text = normalize_string(li.get_text())
28+
if text:
29+
ingredients.append(text)
30+
return ingredients
31+
32+
def instructions(self):
33+
article = self.soup.find("div", class_="article__content")
34+
if not article:
35+
return ""
36+
37+
lists = article.find_all("ul")
38+
if not lists:
39+
return ""
40+
41+
last_list = lists[-1]
42+
steps = []
43+
for sibling in last_list.next_siblings:
44+
if sibling.name == "p":
45+
text = normalize_string(sibling.get_text())
46+
if text:
47+
steps.append(text)
48+
return "\n".join(steps)
49+
50+
def total_time(self):
51+
raise FieldNotProvidedByWebsiteException(return_value=None)
52+
53+
def yields(self):
54+
raise FieldNotProvidedByWebsiteException(return_value=None)
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{
2+
"author": "Meat Church",
3+
"canonical_url": "https://www.meatchurch.com/blogs/recipes/baby-back-ribs",
4+
"site_name": "Meat Church",
5+
"host": "meatchurch.com",
6+
"language": "en",
7+
"title": "Baby Back Ribs",
8+
"ingredients": [
9+
"Baby Back Ribs",
10+
"Meat Church's Honey Bacon BBQ",
11+
"Meat Church Dia de la Fajita",
12+
"1 cup of apple cider vinegar for spritzing",
13+
"1 bottle of squeeze butter or 5 pats of butter",
14+
"1 cup of brown sugar",
15+
"Your favorite BBQ Sauce. We love Meat Mitch Whomp",
16+
"Texas Pepper Jelly Apple n Brown Sugar Habanero Rib Candy"
17+
],
18+
"instructions_list": [
19+
"Prepare your smoker at 275 degrees. We recommend hickory wood for this smoke.",
20+
"Flip the ribs meat side down and remove the membrane off the back of the rack. This is very easily accomplished by grabbing the membrane with a paper towel and pulling it off. Removing the membrane will allow your rub to penetrate into the meat more effectively.",
21+
"Apply a light coat of our Fajita rub to the bone side. Then come back across it with our Honey Bacon BBQ Rub. Allow the rub to adhere for 15 - 30 minutes.",
22+
"Flip the ribs over. Repeat the process. Cover the meat 100%. Allow it to fully adhere for another 15 - 30 minutes. Tip: I would allow 30 minutes per side if time allows. No longer.",
23+
"Place the ribs meat side up in the smoker. Spritz the ribs with apple cider vinegar one time at about 90 minutes - 2 hours into the cook.",
24+
"Smoke the ribs until you get to a beautiful mahogany color. This will take 2 - 2.5 hours max depending on the size of your ribs. The visual queue is most important. Get ready to wrap when you have achieved the beautiful color you desire.",
25+
"Wrap the ribs in aluminum foil to protect that perfect color. Lay out 2 long pieces of aluminum foil. Create a bed with 1 handful of brown sugar and a heavy bead of butter or (5-6 pats)on the foil. I also love to pour a bead of Texas Pepper Jelly across this mixture. Some folks use a hot sauce instead. Lay the ribs meat side down on the sweet concoction with the meat side down\\bones up.",
26+
"Return the ribs to the smoker and continue to cook until meat has started to pull back. You are looking for an internal temp of 203 - 205. This typically takes 90 mins or so depending on the size of the ribs. You can use Thermoworks Instant Read Thermometer to check the temp.",
27+
"Remove the ribs from the foil and sauce or glaze them at this point.We use a mix of 3:1 mix of our favorite BBQ + Texas Pepper Jelly Rib Candy. TPJ has a lot of great flavor options (Apple n Brown Sugar or Peachy Peach). Feel free to make this recipe your own by choosing sauces you love.",
28+
"It is only necessary to leave the ribs on the cooker for 10 minutes to set the sauce. This will keep the bbq sauce from running down your face. I love to sauce in the foil boat on the pit to keep the pit clean.",
29+
"Remove the ribs from the smoker. Allow to sit for a few minutes. Then slice and enjoy!"
30+
],
31+
"yields": null,
32+
"total_time": null,
33+
"image": "https://www.meatchurch.com/cdn/shop/articles/IMG_0017_f1578dfa-88d2-41a4-a5aa-c42090055108_1200x1200.jpg?v=1769190534"
34+
}

0 commit comments

Comments
 (0)