Added supprt for amazon affiliate links, user inputs and changes to README
This commit is contained in:
79
lib/amzn_affliate_links/amzn_afflt_img_html.py
Normal file
79
lib/amzn_affliate_links/amzn_afflt_img_html.py
Normal file
@@ -0,0 +1,79 @@
|
||||
###############################################################################
|
||||
#
|
||||
# To use the module, simply create an instance of the AmazonAffiliateImages class,
|
||||
# passing in your Amazon affiliate tag. Then, you can use the get_image_url() or
|
||||
# get_image_html() methods to get the Amazon affiliate image URL or HTML for a product,
|
||||
# passing in either the product ASIN or the product URL.
|
||||
#
|
||||
###############################################################################
|
||||
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
class AmazonAffiliateImages:
|
||||
def __init__(self, associate_tag):
|
||||
self.associate_tag = associate_tag
|
||||
|
||||
def get_product_asin(self, product_url):
|
||||
"""Gets the Amazon product ASIN from a product URL.
|
||||
|
||||
Args:
|
||||
product_url: The Amazon product URL.
|
||||
|
||||
Returns:
|
||||
The Amazon product ASIN, or None if the product URL is not valid.
|
||||
"""
|
||||
|
||||
soup = BeautifulSoup(requests.get(product_url).content, "html.parser")
|
||||
asin = soup.find("input", type="hidden", name="ASIN")
|
||||
if asin is not None:
|
||||
return asin.get("value")
|
||||
else:
|
||||
return None
|
||||
|
||||
def get_image_url(self, product_asin):
|
||||
"""Gets the Amazon affiliate image URL for a product.
|
||||
|
||||
Args:
|
||||
product_asin: The Amazon product ASIN.
|
||||
|
||||
Returns:
|
||||
The Amazon affiliate image URL, or None if the product is not found.
|
||||
"""
|
||||
|
||||
url = f"https://images-na.ssl-images-amazon.com/images/I/{product_asin}.jpg"
|
||||
response = requests.get(url)
|
||||
if response.status_code == 200:
|
||||
return url
|
||||
else:
|
||||
return None
|
||||
|
||||
def get_image_html(self, product_asin):
|
||||
"""Gets the Amazon affiliate image HTML for a product.
|
||||
|
||||
Args:
|
||||
product_asin: The Amazon product ASIN.
|
||||
|
||||
Returns:
|
||||
The Amazon affiliate image HTML, or None if the product is not found.
|
||||
"""
|
||||
|
||||
image_url = self.get_image_url(product_asin)
|
||||
if image_url is not None:
|
||||
return f'<img src="{image_url}" alt="Amazon Affiliate Image" />'
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
#######################################################
|
||||
|
||||
import amazon_affiliate_images
|
||||
|
||||
affiliate_images = AmazonAffiliateImages("YOUR_ASSOCIATE_TAG")
|
||||
image_html = affiliate_images.get_image_html("B00004CB54")
|
||||
|
||||
# Print the image HTML
|
||||
print(image_html)
|
||||
|
||||
# Output : <img src="https://images-na.ssl-images-amazon.com/images/I/B00004CB54.jpg" alt="Amazon Affiliate Image" />
|
||||
# You can then use this image HTML in your blog post.
|
||||
Reference in New Issue
Block a user