```javascript Node.js theme={"dark"}
const puppeteer = require('puppeteer-core');
const connectionURL = 'wss://browser.zenrows.com?apikey=YOUR_ZENROWS_API_KEY';
const pdfGenerationScraper = async () => {
const browser = await puppeteer.connect({ browserWSEndpoint: connectionURL });
const page = await browser.newPage();
try {
console.log('Navigating to target page...');
await page.goto('https://www.scrapingcourse.com/ecommerce/', {
waitUntil: 'domcontentloaded'
});
console.log('Page loaded:', await page.title());
// Generate basic PDF
console.log('Generating basic PDF...');
await page.pdf({
path: 'basic-page.pdf',
format: 'A4',
printBackground: true
});
// Generate custom PDF with options
console.log('Generating custom PDF...');
await page.pdf({
path: 'custom-page.pdf',
format: 'A4',
printBackground: true,
margin: {
top: '20mm',
bottom: '20mm',
left: '20mm',
right: '20mm'
},
displayHeaderFooter: true,
headerTemplate: 'E-commerce Scraping Report
',
footerTemplate: 'Page of
'
});
// Generate PDF of specific content area
console.log('Generating product grid PDF...');
const productGrid = await page.$('.products');
if (productGrid) {
const boundingBox = await productGrid.boundingBox();
await page.pdf({
path: 'product-grid.pdf',
format: 'A4',
printBackground: true,
clip: boundingBox
});
}
// Generate landscape PDF
console.log('Generating landscape PDF...');
await page.pdf({
path: 'landscape-page.pdf',
format: 'A4',
landscape: true,
printBackground: true,
scale: 0.8
});
console.log('All PDFs generated successfully');
} finally {
await browser.close();
}
};
pdfGenerationScraper();
```
```python Python theme={"dark"}
# pip install pyppeteer
import asyncio
from pyppeteer import connect
connection_url = "wss://browser.zenrows.com?apikey=YOUR_ZENROWS_API_KEY"
async def pdf_generation_scraper():
browser = await connect(browserWSEndpoint=connection_url)
page = await browser.newPage()
try:
print('Navigating to target page...')
await page.goto('https://www.scrapingcourse.com/ecommerce/',
{'waitUntil': 'domcontentloaded'})
print(f'Page loaded: {await page.title()}')
# Generate basic PDF
print('Generating basic PDF...')
await page.pdf({
'path': 'basic-page.pdf',
'format': 'A4',
'printBackground': True
})
# Generate custom PDF with options
print('Generating custom PDF...')
await page.pdf({
'path': 'custom-page.pdf',
'format': 'A4',
'printBackground': True,
'margin': {
'top': '20mm',
'bottom': '20mm',
'left': '20mm',
'right': '20mm'
},
'displayHeaderFooter': True,
'headerTemplate': 'E-commerce Scraping Report
',
'footerTemplate': 'Page of
'
})
# Generate landscape PDF
print('Generating landscape PDF...')
await page.pdf({
'path': 'landscape-page.pdf',
'format': 'A4',
'landscape': True,
'printBackground': True,
'scale': 0.8
})
print('All PDFs generated successfully')
finally:
await page.close()
await browser.disconnect()
if __name__ == "__main__":
asyncio.run(pdf_generation_scraper())
```