Skip to content


MIT 9 9 157
216 (month) Dec 11 2020 2.0.7(1 year, 4 months ago)
802 10 53 BSD
0.16.0(8 months ago) Oct 27 2015 187.8 thousand (month)

ExtractNet is an automated web data extraction tool using machine learning to parse HTML and text data.

This tool can be used in web scraping to automatically extract details from scraped HTML documents. While it's not as accurate as structured extraction using HTML parsing tools like CSS selectors or XPath it can still parse a lot of details.

extruct is a library for extracting embedded metadata from HTML markup.

Currently, extruct supports:

  • W3C's HTML Microdata
  • embedded JSON-LD
  • Microformat via mf2py
  • Facebook's Open Graph
  • (experimental) RDFa via rdflib
  • Dublin Core Metadata (DC-HTML-2003)

Extruct is a brilliant data parser for marked up websites (many modern websites) and is an easy way to extract popular details like product information, company contact details etc.

Example Use

import requests
from extractnet import Extractor

raw_html = requests.get('').text
results = Extractor().extract(raw_html)
{'phone_number': '555-555-5555', 'email': ''}
# retrieve HTML content
import httpx

response = httpx.get('')

import extruct

all_data = extruct.extract(response.text, response.url)

# or we can extract specific metadata format by importing individuals extractors:

extractor = extruct.MicrodataExtractor()
microdata = extractor.extract(response.text)

extractor = extruct.JsonLdExtractor()
jsonld = extractor.extract(response.text) 

Alternatives / Similar