ای بے ایک مشہور آن لائن پلیٹ فارم ہے جو اپنے رجسٹرڈ صارفین میں وسیع پیمانے پر مصنوعات میں تجارتی مواقع فراہم کرتا ہے۔ اس گائیڈ میں ، ہم وضاحت کریں گے کہ ایبٹون کا استعمال کرتے ہوئے ای بے لسٹنگ سے ڈیٹا کو کھرچنے کا طریقہ۔ اس طرح ، ہم ان تفصیلات میں دلچسپی لیں گے جو خود لسٹنگ سے دستیاب ہیں اور ساتھ ہی اس میں سے ہر ایک مصنوعات میں جانے سے لے کر مزید عمدہ تفصیلات کے ل .۔
شروع کرنے کے لئے ، یقینی بنائیں کہ آپ کے پاس مندرجہ ذیل ازگر کی لائبریریاں نصب ہیں:
ان لائبریریوں کو استعمال کرتے ہوئے انسٹال کریں:
pip install requests lxml pandas
ای بے پر مصنوعات کی تلاش کرتے وقت ، ہر صفحے کے یو آر ایل کو صفحہ بند نتائج کے ذریعے تشریف لے جانے کے لئے ترمیم کی جاسکتی ہے۔ مثال کے طور پر:
_pgn پیرامیٹر کو متعدد صفحات کے ذریعے تشریف لے جانے کے لئے استعمال کیا جاتا ہے ، جس سے وسیع اعداد و شمار کی بازیافت کو قابل بنایا جاسکے۔ آئیے سکریپنگ کا عمل شروع کریں۔
شروع کرنے کے ل we ، ہم ایک حقیقی براؤزر کی درخواست کی نقل کرنے کے لئے ہیڈر مرتب کریں گے ، جو ای بے کے اینٹی بوٹ اقدامات کے ذریعہ پتہ لگانے اور ممکنہ مسدود کرنے سے بچنے میں مدد کرتا ہے۔ تب ہم ہر مصنوعات کے لنکس جمع کرنے کے لئے لسٹنگ پیج پر ایک درخواست بھیجیں گے۔
import requests
from lxml.html import fromstring
# Define headers to simulate a real browser
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'accept-language': 'en-IN,en;q=0.9',
'cache-control': 'no-cache',
'dnt': '1',
'pragma': 'no-cache',
'priority': 'u=0, i',
'sec-ch-ua': '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Linux"',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'none',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36',
}
# Request parameters for the search query
params = {
'_nkw': 'laptop',
}
# Send a request to the eBay listing page
listing_page_response = requests.get('https link', params=params, headers=headers)
listing_parser = fromstring(listing_page_response.text)
لسٹنگ پیج پر ، ہم انفرادی مصنوعات کے لئے یو آر ایل نکالیں گے۔ اس سے ہمیں مخصوص تفصیلات جمع کرنے کے لئے ہر پروڈکٹ پیج پر تشریف لانے کی اجازت ملتی ہے ، جیسے مصنوعات کا عنوان ، قیمت اور بہت کچھ۔
# Parse the listing page to extract product links
links = listing_parser.xpath('//div[@class="s-item__info clearfix"]/a[@_sp="p2351460.m1686.l7400"]/@href')
# Output a sample of the links found
print("Product Links:", links[:5]) # Display the first five product links
پروڈکٹ یو آر ایل کے ساتھ ، ہم ہر پروڈکٹ پیج پر جاتے ہیں اور درج ذیل تفصیلات نکالیں گے:
اگلا ، ہم ہر لنک کو لوپ کریں گے اور پروڈکٹ پیج پر مطلوبہ معلومات کو تلاش کرنے کے لئے ایکس پاتھ اظہار کا استعمال کریں گے۔
product_data = []
for url in links:
# Send a request to the product page
product_page_response = requests.get(url, headers=headers)
product_parser = fromstring(product_page_response.text)
# Extract data using XPath
try:
product_title = product_parser.xpath('//h1[@class="x-item-title__mainTitle"]/span/text()')[0]
price = product_parser.xpath('//div[@data-testid="x-price-primary"]/span/text()')[0]
shipping_cost = product_parser.xpath('//div[@class="ux-labels-values col-12 ux-labels-values--shipping"]//div[@class="ux-labels-values__values-content"]/div/span/text()')[0]
product_condition = product_parser.xpath('//div[@class="x-item-condition-text"]/div/span/span[2]/text()')[0]
available_quantity = product_parser.xpath('//div[@class="x-quantity__availability"]/span/text()')[0]
sold_quantity = product_parser.xpath('//div[@class="x-quantity__availability"]/span/text()')[1]
payment_options = ', '.join(product_parser.xpath('//div[@class="ux-labels-values col-12 ux-labels-values__column-last-row ux-labels-values--payments"]/div[2]/div/div//span/@aria-label'))
return_policy = product_parser.xpath('//div[@class="ux-layout-section ux-layout-section--returns"]//div[@class="ux-labels-values__values-content"]/div/span/text()')[0]
# Store data in a dictionary
product_info = {
'Title': product_title,
'Price': price,
'Shipping Cost': shipping_cost,
'Condition': product_condition,
'Available Quantity': available_quantity,
'Sold Quantity': sold_quantity,
'Payment Options': payment_options,
'Return Policy': return_policy,
}
product_data.append(product_info)
except IndexError as e:
print(f"An error occurred: {e}")
ڈیٹا اکٹھا کرنے کے بعد ، ہم اسے پانڈوں کا استعمال کرتے ہوئے سی ایس وی فائل میں محفوظ کرسکتے ہیں۔
import pandas as pd
# Convert data to DataFrame
df = pd.DataFrame(product_data)
# Save to CSV
df.to_csv('ebay_product_data.csv', index=False)
print("Data saved to ebay_product_data.csv")
ای بے ضرورت سے زیادہ درخواستوں کو روکنے کے لئے شرح کو محدود کرنے کا کام کرتا ہے۔ پتہ لگانے سے بچنے کے لئے کچھ طریقے یہ ہیں:
ان بہترین طریقوں پر عمل کرتے ہوئے ، آپ بلاک ہونے کے خطرے کو کم سے کم کرسکتے ہیں اور ڈیٹا کو موثر انداز میں کھرچنا جاری رکھ سکتے ہیں۔
ای بے ڈیٹا کو کھرچنے اور اسے CSV فائل میں محفوظ کرنے کے لئے یہاں مکمل کوڈ ہے:
import requests
import random
from lxml.html import fromstring
import pandas as pd
useragents = ['Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36']
# Define headers for request
headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'accept-language': 'en-IN,en;q=0.9',
'cache-control': 'no-cache',
'dnt': '1',
'pragma': 'no-cache',
'priority': 'u=0, i',
'sec-ch-ua': '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Linux"',
'sec-fetch-dest': 'document',
'sec-fetch-mode': 'navigate',
'sec-fetch-site': 'none',
'sec-fetch-user': '?1',
'upgrade-insecure-requests': '1',
'user-agent': random.choice(useragents),
}
# Search query parameters
params = {'_nkw': 'laptop'}
proxies = {
'http': 'IP:PORT',
'https': 'IP:PORT'
}
# Fetch the listing page
listing_page_response = requests.get('https://www.ebay.com/sch/i.html', params=params, headers=headers, proxies=proxies)
listing_parser = fromstring(listing_page_response.text)
links = listing_parser.xpath('//div[@class="s-item__info clearfix"]/a[@_sp="p2351460.m1686.l7400"]/@href')
# Extract product data
product_data = []
for url in links:
product_page_response = requests.get(url, headers=headers, proxies=proxies)
product_parser = fromstring(product_page_response.text)
try:
product_info = {
'Title': product_parser.xpath('//h1[@class="x-item-title__mainTitle"]/span/text()')[0],
'Price': product_parser.xpath('//div[@data-testid="x-price-primary"]/span/text()')[0],
'Shipping Cost': product_parser.xpath('//div[@class="ux-labels-values col-12 ux-labels-values--shipping"]//div[@class="ux-labels-values__values-content"]/div/span/text()')[0],
'Condition': product_parser.xpath('//div[@class="x-item-condition-text"]/div/span/span[2]/text()')[0],
'Available Quantity': product_parser.xpath('//div[@class="x-quantity__availability"]/span/text()')[0],
'Sold Quantity': product_parser.xpath('//div[@class="x-quantity__availability"]/span/text()')[1],
'Payment Options': ', '.join(product_parser.xpath('//div[@class="ux-labels-values col-12 ux-labels-values__column-last-row ux-labels-values--payments"]/div[2]/div/div//span/@aria-label')),
'Return Policy': product_parser.xpath('//div[@class="ux-layout-section ux-layout-section--returns"]//div[@class="ux-labels-values__values-content"]/div/span/text()')[0]
}
product_data.append(product_info)
except IndexError:
continue
# Save to CSV
df = pd.DataFrame(product_data)
df.to_csv('ebay_product_data.csv', index=False)
print("Data saved to ebay_product_data.csv")
ای بے کو ازگر کے ساتھ کھرچنا مصنوعات ، قیمتوں اور رجحانات پر موثر ڈیٹا اکٹھا کرنے کی اجازت دیتا ہے۔ اس گائیڈ میں ، ہم نے کھوج سے بچنے کے لئے سکریپنگ لسٹنگ ، صفحہ بندی کو سنبھالنے ، ہیڈر ترتیب دینے ، اور پراکسیوں کا استعمال کیا۔ ذمہ دار درخواست کے وقفوں اور پراکسی گردش کا استعمال کرکے ای بے کی خدمت کی شرائط کا احترام کرنا یاد رکھیں۔ ان ٹولز کی مدد سے ، اب آپ مارکیٹ کی بصیرت کے لئے آسانی سے ای بے کے اعداد و شمار کو جمع اور تجزیہ کرسکتے ہیں۔ مبارک ہو سکریپنگ!
تبصرے: 0