pagination Scenario 6 — Parse Sitemap and Visit URLs
Written by RTILA X Engineering Team
Advanced ~10 min
Prerequisites: pagination/3 pagination/4 pagination/5
What You'll Learn
Parse a sitemap and iterate over URLs
Real-World Use Case
Building a full-site scraper
LIVE DEMO
Sitemap URL List
This simulates a sitemap.xml with 20 URLs. An automation can parse the URL list, visit each URL, and extract the page title.
/scenarios/basic/1 /scenarios/basic/2 /scenarios/basic/3 /scenarios/basic/4 /scenarios/basic/5 /scenarios/basic/6 /scenarios/search-filter/1 /scenarios/search-filter/2 /scenarios/authentication/1 /scenarios/pagination/1 /scenarios/forms/1 /scenarios/conditional-logic/1 /scenarios/loops/1 /scenarios/multi-tab/1 /scenarios/file-download/1 /learn/selectors /learn/data-extraction /learn/control-flow /learn/error-handling /reference/commands/goto
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>https://learn.rtila.com/scenarios/basic/1</loc></url>
<url><loc>https://learn.rtila.com/scenarios/basic/2</loc></url>
<url><loc>https://learn.rtila.com/scenarios/basic/3</loc></url>
<url><loc>https://learn.rtila.com/scenarios/basic/4</loc></url>
<url><loc>https://learn.rtila.com/scenarios/basic/5</loc></url>
<url><loc>https://learn.rtila.com/scenarios/basic/6</loc></url>
<url><loc>https://learn.rtila.com/scenarios/search-filter/1</loc></url>
<url><loc>https://learn.rtila.com/scenarios/search-filter/2</loc></url>
<url><loc>https://learn.rtila.com/scenarios/authentication/1</loc></url>
<url><loc>https://learn.rtila.com/scenarios/pagination/1</loc></url>
<url><loc>https://learn.rtila.com/scenarios/forms/1</loc></url>
<url><loc>https://learn.rtila.com/scenarios/conditional-logic/1</loc></url>
<url><loc>https://learn.rtila.com/scenarios/loops/1</loc></url>
<url><loc>https://learn.rtila.com/scenarios/multi-tab/1</loc></url>
<url><loc>https://learn.rtila.com/scenarios/file-download/1</loc></url>
<url><loc>https://learn.rtila.com/learn/selectors</loc></url>
<url><loc>https://learn.rtila.com/learn/data-extraction</loc></url>
<url><loc>https://learn.rtila.com/learn/control-flow</loc></url>
<url><loc>https://learn.rtila.com/learn/error-handling</loc></url>
<url><loc>https://learn.rtila.com/reference/commands/goto</loc></url>
</urlset>
EXPECTED OUTPUT
RTILA X PROJECT JSON
{
"name": "Parse_Sitemap_And_Visit",
"settings": {
"urls": [
"https://learn.rtila.com/scenarios/pagination/6"
]
},
"datasets": {
"sitemap_urls": {
"item_selector": "css=a.sitemap-url",
"properties": [
{
"name": "url",
"type": "attribute",
"selector": "css=self",
"attribute": "href"
}
]
}
},
"commands": [
{
"command": "wait_for_selector",
"params": {
"selector": "css=.url-list"
}
},
{
"command": "extract_data",
"params": {
"dataset": "sitemap_urls"
}
},
{
"command": "for_each",
"params": {
"source_type": "variable",
"variable": "sitemap_urls",
"as": "item",
"do": [
{
"command": "goto",
"params": {
"url": "${item.url}"
}
},
{
"command": "wait_for_selector",
"params": {
"selector": "css=title"
}
},
{
"command": "extract_data",
"params": {
"dataset": "page_title",
"item_selector": "css=title"
}
}
]
}
}
]
}
The for_each command iterates over extracted values. First we parse the sitemap URL list, then we use each URL as a destination for a separate goto and extraction.
Did you complete this scenario?
Ready to run this automation?
Copy the project JSON above, open RTILA X, create a new project, and paste it.
This scenario covers 2 RTILA X commands and is referenced in 2 learning articles.
Continue Learning
Was this helpful?
Thank you for your feedback!