Best practices

  • Always use the text() function in XPath to extract the text content of an element, ensuring you retrieve only the human-readable part.

  • Utilize predicates in XPath expressions to filter and refine selections, enhancing the specificity and accuracy of your data extraction.

  • Use the contains() function to match elements based on partial attribute values or text, making your XPath queries more flexible and robust.

  • Regularly update and test your XPath queries to adapt to changes in the webpage structure, ensuring your code remains functional over time.

1
2
3
4
5
6
7
8
9
10
11
12
13

Scraper APIs

  • Web, SERP, E-Commerce

  • JSON, AWS S3, GCS

  • Auto-retry system

  • JavaScript rendering

Unlimited Trial

(up to 2K results)

Micro

$0.95/1K requests

Starter

$0.9/1K requests

Advanced

$0.88/1K requests

Promo Code:

Web Unblocker

  • 177M+ proxy pool

  • CAPTCHA bypass

  • Automated unblocking

  • Human-like browsing

Free Trial

$0/mo

Micro 5GB

$15 $10/GB

Starter 25GB

$13 $9/GB

Advanced 60GB

$11 $7/GB

Promo Code:

Residential proxies

  • 175M+ Residential IPs

  • 99.95% success rates

  • HTTPS, HTTP, SOCKS5

  • 30-min session duration

Pay as you go

$8 $4/GB

Micro 13GB

$7.75 $3.87/GB

Starter 40GB

$7.5 $3.75/GB

Advanced 86GB

$6.98 $3.49/GB

Promo Code:

Mobile Proxies

  • 20M+ mobile IPs

  • Network 3G/4G/5G

  • Real mobile devices

  • Fast performance

Pay as you go

$9/GB

Micro 12GB

$8.25 $5.7/GB

Starter 38GB

$7.89 $5.5/GB

Advanced 80GB

$7.5 $5.2/GB

Promo Code:

Common issues

  • Ensure that your XPath expressions are correctly formed to avoid syntax errors, which are common when navigating complex HTML structures.

  • When using XPath with namespaces in XML documents, remember to register and use the namespace prefixes properly to avoid selection issues.

  • Avoid absolute XPath paths in your scripts; instead, use relative paths to make your code more resilient to changes in the webpage layout.

  • Handle exceptions when web pages fail to load or return unexpected content to maintain the robustness of your web scraping scripts.

1
2
3
4
5
6
7
8
9
10
11
12
13

Try Oyxlabs' Proxies & Scraper API

Residential Proxies

Self-Service

Human-like scraping without IP blocking

From

8

Datacenter Proxies

Self-Service

Fast and reliable proxies for cost-efficient scraping

From

1.2

Web scraper API

Self-Service

Public data delivery from a majority of websites

From

49

Useful resources

Python Web Scraping Tutorial: Step-By-Step
Python Web Scraping Tutorial: Step-By-Step
Authors avatar

Adomas Sulcas

2025-04-01

How to Find Elements With Selenium in Python
Enrika avatar

Enrika Pavlovskytė

2024-06-21

lxml Tutorial: XML Processing and Web Scraping With lxml visuals
lxml Tutorial: XML Processing and Web Scraping With lxml
Gabija Fatenaite avatar

Gabija Fatenaite

2021-08-30

Get the latest news from data gathering world

I'm interested