From 45e3bf6d2c0116cc1bc9c44fa759c9d7995ece47 Mon Sep 17 00:00:00 2001 From: Matt Allen Date: Sun, 15 Sep 2024 16:47:44 -0500 Subject: [PATCH] Setup github actions (#146) * Setup github actions * Update requirements.txt * Update python-app.yml * Fix github action syntax * Skip slow test for now * Update .github/workflows/python-app.yml Co-authored-by: Dan Minshew * Update requirements.txt Co-authored-by: Dan Minshew * Revert "format the county data (#145)" This reverts commit 63202c859ae02246c92d5fb953e6af328a9f71cb. * Fix tests * Fix missing file error * Add sphinx * Build docs site as a github page * try fixing build * Set sphinx version more explicitly * Debugging build * Abandon sphinx-action step --------- Co-authored-by: Dan Minshew --- .github/workflows/python-app.yml | 45 +++ .gitignore | 2 + docs/conf.py | 31 ++ docs/index.rst | 21 ++ requirements.txt | 4 +- resources/texas_county_data.csv | 510 +++++++++++++++---------------- src/__init__.py | 6 + src/orchestrator/__init__.py | 20 +- src/parser/__init__.py | 27 +- src/scraper/__init__.py | 1 + src/tester/test_unittest.py | 3 + 11 files changed, 392 insertions(+), 278 deletions(-) create mode 100644 .github/workflows/python-app.yml create mode 100644 docs/conf.py create mode 100644 docs/index.rst create mode 100644 src/__init__.py diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml new file mode 100644 index 0000000..ed6d0d1 --- /dev/null +++ b/.github/workflows/python-app.yml @@ -0,0 +1,45 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Indigent Defense Stats + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - name: Set up Python 3.12 + uses: actions/setup-python@v3 + with: + python-version: "3.12" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with unittest + run: | + SKIP_SLOW=true python -m unittest discover -v -s ./src/tester + - name: Build documentation + run: | + sphinx-build -b html docs build + + - uses: actions/upload-pages-artifact@v3.0.1 + with: + path: build/ diff --git a/.gitignore b/.gitignore index 4b9d59f..241baa5 100644 --- a/.gitignore +++ b/.gitignore @@ -167,3 +167,5 @@ data/ .~lock.* .DS_Store + +docs/generated diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 0000000..5f41b20 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,31 @@ +import sys +import os +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +project = 'indigent-defense-stats' +copyright = '2024, Open Austin' +author = 'Open Austin' + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +sys.path.insert(0, os.path.abspath('../src')) + +extensions = ['sphinx.ext.autodoc', 'sphinx.ext.autosummary'] + +templates_path = ['_templates'] +exclude_patterns = ['src/tester'] + + + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = 'alabaster' +html_static_path = ['_static'] diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 0000000..e514770 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,21 @@ +.. indigent-defense-stats documentation master file, created by + sphinx-quickstart on Sun Sep 15 15:44:02 2024. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +indigent-defense-stats documentation +==================================== + +Add your content using ``reStructuredText`` syntax. See the +`reStructuredText `_ +documentation for details. + +.. autosummary:: + :toctree: generated + + cleaner + orchestrator + parser + scraper + tools + updater diff --git a/requirements.txt b/requirements.txt index 618be1f..d03359c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,4 +5,6 @@ python-dotenv == 1.0.1 requests == 2.32.3 retry == 0.9.2 statistics == 1.0.3.5 -xxhash == 3.5.0 \ No newline at end of file +xxhash == 3.5.0 +flake8 == 7.1.0 +Sphinx == 8.0.2 diff --git a/resources/texas_county_data.csv b/resources/texas_county_data.csv index 6e62f3a..466a505 100644 --- a/resources/texas_county_data.csv +++ b/resources/texas_county_data.csv @@ -1,255 +1,255 @@ -county ,population ,website ,portal ,type ,version ,search_disabled ,site_down ,captcha ,must_pay ,must_register ,notes ,scrape -Harris , 4731145 ,http://www.harriscountytx.gov/ ,https://jpodysseyportal.harriscountytx.gov/OdysseyPortalJP/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Dallas , 2613539 ,http://www.dallascounty.org/ ,https://courtsportal.dallascounty.org/DALLASPROD/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Tarrant , 2110640 ,http://www.tarrantcounty.com/ ,https://odyssey.tarrantcounty.com/PublicAccess/ ,odyssey ,2003 , , , , , , ,no -Bexar , 2009324 ,http://www.bexar.org/ ,https://portal-txbexar.tylertech.cloud/Portal/ ,odyssey ,2017.1.35.6 , ,yes – maintenance , , , , ,no -Travis , 1290188 ,https://www.traviscountytx.gov/ ,https://odysseypa.traviscountytx.gov/JPPublicAccess/ ,odyssey ,2011 , , , , , , ,no -Collin , 1064465 ,http://www.collincountytx.gov/ ,https://cijspub.co.collin.tx.us/ ,odyssey ,2003 , , , , , , ,no -Denton , 906422 ,https://dentoncounty.gov/ ,https://justice1.dentoncounty.gov/PublicAccess/ ,odyssey ,2003 , , , , , , ,no -Hidalgo , 870781 ,https://tx-hidalgocounty.civicplus.com/ ,https://pa.co.hidalgo.tx.us/ ,odyssey ,2003 , , , , , , ,no -El Paso , 865657 ,http://www.epcounty.com/ ,https://casesearch.epcounty.com/PublicAccess/ ,odyssey ,2003 ,yes , , ,yes , , ,no -Fort Bend , 822779 ,http://www.fortbendcountytx.gov/ ,https://tylerpaw.fortbendcountytx.gov/PublicAccess/ ,odyssey ,2003 , , , , , , ,no -Montgomery , 620443 ,http://www.mctx.org/ ,http://odyssey.mctx.org/Unsecured/ ,odyssey ,2011 , , , , , , ,no -Williamson , 609017 ,http://www.wilco.org/ ,https://judicialrecords.wilco.org/PublicAccess/ ,odyssey ,2003 , , , , , , ,no -Cameron , 421017 ,http://www.co.cameron.tx.us/ ,https://portal.co.cameron.tx.us/portalprod/ ,odyssey ,2017.1.46.2 , , ,yes , , , ,no -Brazoria , 372031 ,http://brazoriacountytx.gov/ ,https://pubweb.brazoriacountytx.gov/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Bell , 370647 ,http://www.bellcountytx.com/ ,https://justice.bellcounty.texas.gov/PublicPortal/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Nueces , 353178 ,http://www.co.nueces.tx.us/ ,https://portal-txnueces.tylertech.cloud/Portal/ ,odyssey ,2024 , , , , , , ,no -Galveston , 350682 ,http://www.galvestoncountytx.gov/ ,https://portal.galvestoncountytx.gov/portal/ ,odyssey ,2017.1.46.2 , , ,yes , , , ,no -Lubbock , 310639 ,http://www.co.lubbock.tx.us/ ,https://publicrecords.lubbockcounty.gov/Portal/ ,odyssey ,2017.1.40.0 , , , , , , ,no -Webb , 267114 ,http://www.webbcountytx.gov/ ,https://publicaccess.webbcountytx.gov/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -McLennan , 260579 ,http://www.co.mclennan.tx.us/ ,https://mclennan.edoctec.com/McLennanDCWeb/ ,edoctec ,2022 , , , , , ,scrapable ,no -Jefferson , 256526 ,http://www.co.jefferson.tx.us/ ,https://jeffersontxclerk.manatron.com/Court/SearchEntry.aspx?cabinet=COURT_CRIMINAL ,Aumentum recorder ,3 , , , , , ,scrapable ,no -Hays , 241067 ,http://www.co.hays.tx.us/ ,http://public.co.hays.tx.us/ ,odyssey ,2003 , , , , , , ,yes -Brazos , 233849 ,http://www.brazoscountytx.gov/ ,https://brazoscountytx.gov/237/Public-Records , , , , , , , ,does records requests through e-mail and fax as far as I can tell ,no -Smith , 233479 ,http://www.smith-county.com/ ,https://judicial.smith-county.com/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Ellis , 192455 ,http://www.co.ellis.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Johnson , 179927 ,http://www.johnsoncountytx.org/ ,https://pa.johnsoncountytx.org/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Guadalupe , 172706 ,http://www.co.guadalupe.tx.us/ ,https://portal-txguadalupe.tylertech.cloud/PublicAccess/ ,odyssey ,2015 , , , , , , ,no -Midland , 169983 ,http://www.co.midland.tx.us/ ,http://jp.co.midland.tx.us/countyclerk/ ,netdata ,2008 , , , , ,yes ,must register. registration through County Clerk's office ,no -Ector , 165171 ,http://www.co.ector.tx.us/ ,https://portal-txector.tylertech.cloud/PortalProd/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Comal , 161501 ,http://www.co.comal.tx.us/ ,http://public.co.comal.tx.us/default.aspx ,odyssey ,2003 ,yes , , , , ,needs default.aspx in url or sends you to IIS default index ,no -Parker , 148222 ,http://www.parkercountytx.com/ ,https://txparkerodyprod.tylerhost.net/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Kaufman , 145310 ,http://www.kaufmancounty.net/ ,http://txkaufmanodyprod.tylerhost.net/PublicAccess/ ,odyssey ,2003 ,yes , , , , , ,no -Taylor , 143208 ,http://www.taylorcountytexas.org/ ,http://publicaccess.taylorcountytexas.org/PublicAccess/ ,odyssey ,2003 , , , , , , ,no -Randall , 140753 ,http://randallcounty.com/ ,https://odysseypa.tylerhost.net/Randall/ ,odyssey ,2011 , , , , , , ,no -Grayson , 135543 ,http://www.co.grayson.tx.us/ ,https://judicialsearch.co.grayson.tx.us:8443/ ,odyssey ,2011 , , , , , , ,no -Wichita , 129350 ,http://www.co.wichita.tx.us/ ,https://portal-txwichita.tylertech.cloud/Portal/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Gregg , 124239 ,http://www.co.gregg.tx.us/ ,http://beta.co.gregg.tx.us/OdysseyPA/ ,odyssey ,2003 , , , , , , ,no -Tom Green , 120003 ,http://www.co.tom-green.tx.us/ ,http://odysseypa.co.tom-green.tx.us/ ,odyssey ,2003 , , , , , , ,no -Potter , 118525 ,http://www.co.potter.tx.us/ ,https://portal-txpotter.tylertech.cloud/Portal/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Rockwall , 107819 ,https://www.rockwallcountytexas.com/ ,https://portal-txrockwall.tylertech.cloud/Portal/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Hunt , 99956 ,http://www.huntcounty.net/ ,https://portal-txhunt.tylertech.cloud/Portal/ ,odyssey ,2017.1.46.2 ,yes , , ,yes , , ,no -Bastrop , 97216 ,http://www.co.bastrop.tx.us/ ,http://records.co.bastrop.tx.us/PublicAccess/ ,odyssey ,2003 , , , , , , ,no -Bowie , 92893 ,http://www.co.bowie.tx.us/ ,https://portal-txbowie.tylertech.cloud/PublicAccess/ ,odyssey ,2013 , , , , , , ,no -Liberty , 91628 ,http://www.co.liberty.tx.us/ ,https://portal-txliberty.tylertech.cloud/Portal/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Victoria , 91319 ,http://www.victoriacountytx.org/ ,http://odyssey.vctx.org/ ,odyssey ,2003 , , , , , , ,no -Angelina , 86395 ,http://www.angelinacounty.net/ ,http://public.angelinacounty.net/ ,odyssey ,2003 , , ,yes , , , ,no -Orange , 84808 ,http://www.co.orange.tx.us/ ,https://www.co.orange.tx.us/departments/CountyClerk/OnlineRecordsSearch ,myClerkbooks.com ,2022 , , , , , ,scrapable ,no -Coryell , 83093 ,https://www.coryellcounty.org/ ,https://www.coryellcounty.org/page/coryell.County.Clerk , , , , , , , ,it appears that you need to pay. it’s unclear though ,no -Henderson , 82150 ,http://www.henderson-county.com/ ,http://txhendersonodyprod.tylerhost.net/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Walker , 76400 ,http://www.co.walker.tx.us/ ,https://odysseypa.tylerhost.net/Walker/ ,odyssey ,2003 , , , , , , ,no -Harrison , 68839 ,http://harrisoncountytexas.org/ ,http://portal-txharrison.tylertech.cloud/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -San Patricio , 68755 ,http://www.co.san-patricio.tx.us/ ,https://www.co.san-patricio.tx.us/page/sanpatricio.County.Clerk , , , , , , , ,I believe you need to call or email for records ,no -Wise , 68632 ,http://www.co.wise.tx.us/ ,http://jail.co.wise.tx.us:81/ ,odyssey ,2003 , , , , , , ,no -Starr , 65920 ,http://www.co.starr.tx.us/ ,https://www.co.starr.tx.us/page/starr.County.Clerk , , , , , ,yes , ,criminal case request form ,no -Nacogdoches , 64653 ,http://www.co.nacogdoches.tx.us/ ,https://www.co.nacogdoches.tx.us/OpenRecords/Index.asp , , , , , , , ,it is unclear how to get criminal records ,no -Hood , 61598 ,http://www.co.hood.tx.us/ ,https://www.texasonlinerecords.com/clerk/?office_id=24 ,netdata ,2013 , , ,yes , ,yes ,must register + captcha ,no -Van Zandt , 59541 ,http://www.vanzandtcounty.org/ ,https://www.vanzandtcounty.org/page/vanzandt.County.Clerk , , , , , , ,yes ,uses countygovernmentrecords.com but it's not clear if this includes criminal records. Must register ,no -Anderson , 57922 ,http://www.co.anderson.tx.us/ ,http://ac5.co.anderson.tx.us/PublicAccess/ ,odyssey ,2003 , , , , , , ,no -Maverick , 57887 ,http://www.co.maverick.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Waller , 56794 ,http://www.co.waller.tx.us/ ,https://odysseypa.tylerhost.net/Waller/ ,odyssey ,2003 , , , , , , ,no -Hardin , 56231 ,http://www.co.hardin.tx.us/ ,http://www.hardincourts.com/recordSearch.php ,"Henschen & Associates, Inc." ,2022 , , ,yes , , ,scrapable outside of captcha ,no -Navarro , 52624 ,http://www.co.navarro.tx.us/ ,https://portal-txnavarro.tylertech.cloud/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Kerr , 52598 ,http://www.co.kerr.tx.us/ ,http://courts.co.kerr.tx.us/PublicAccess/ ,odyssey ,2014 , ,yes - 403 Forbidden , , , , ,no -Rusk , 52214 ,http://www.co.rusk.tx.us/ ,https://www.co.rusk.tx.us/page/rusk.County.Clerk , , , , , , , ,it is unclear how to get criminal records. There is a civil records request sheet ,no -Medina , 50748 ,http://www.medinacountytexas.org/ ,https://odysseypa.tylerhost.net/Medina/ ,odyssey ,2003 , , , , , , ,no -Cherokee , 50412 ,http://www.co.cherokee.tx.us/ ,https://cherokeeclerkofcourt.com/mainpage.aspx ,ICON ,5.1.1.1 , , , , , ,scrapable ,no -Polk , 50123 ,http://www.co.polk.tx.us/ ,https://www.co.polk.tx.us/page/polk.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Lamar , 50088 ,http://www.co.lamar.tx.us/ ,https://txlamarodyprod.tylerhost.net/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Wilson , 49753 ,http://www.co.wilson.tx.us/ ,https://www.co.wilson.tx.us/page/wilson.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Burnet , 49130 ,http://www.burnetcountytexas.org/ ,https://portal-txburnet.tylertech.cloud/ProdPortal ,odyssey ,2003 , , , , , ,PUBLICLOGIN#visitor/visitor# do not edit - used as data in scraper ,no -Atascosa , 48981 ,http://www.atascosacounty.texas.gov/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,looks scrapable but this is for district rather than county clerk. Could not find county records ,no -Val Verde , 47586 ,http://valverdecounty.texas.gov/ ,https://www.valverdecounty.texas.gov/153/County-Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Chambers , 46571 ,http://www.co.chambers.tx.us/ ,https://portal-txchambers.tylertech.cloud/Portal/ ,odyssey ,2017.1.46.2 ,yes , , ,yes , , ,no -Caldwell , 45883 ,http://www.co.caldwell.tx.us/ ,https://www.co.caldwell.tx.us/page/caldwell.County.Clerk ,iDocket , , , , , ,yes ,must register to iDocket. ,no -Wood , 44843 ,http://www.mywoodcounty.com/ ,https://portal-txwood.tylertech.cloud/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Kendall , 44279 ,http://www.co.kendall.tx.us/ ,https://www.co.kendall.tx.us/page/County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Erath , 42545 ,http://co.erath.tx.us/ ,https://www.texasonlinerecords.com/clerk/?office_id=21 ,netdata ,2022 , , ,yes , ,yes ,must register + captcha ,no -Cooke , 41668 ,http://www.co.cooke.tx.us/ ,https://www.texasonlinerecords.com/clerk/?office_id=101 ,netdata ,2022 , , ,yes , ,yes ,must register + captcha ,no -Wharton , 41570 ,http://www.co.wharton.tx.us/ ,https://www.co.wharton.tx.us/page/wharton.County.Clerk ,iDocket , , , , , ,yes ,must register to iDocket. ,no -Upshur , 40892 ,http://www.countyofupshur.com/ ,https://www.texasonlinerecords.com/clerk/?office_id=43 ,netdata ,2022 , , ,yes , ,yes ,must register + captcha ,no -Jim Wells , 38891 ,http://www.co.jim-wells.tx.us/ ,https://courtportal.co.jim-wells.tx.us/eservices/home.page.23 ,courtview ,1.32.01 , , , , , ,scrapable ,no -Brown , 38095 ,http://www.browncountytx.org/ ,https://www.browncountytx.org/page/brown.County.Clerk ,iDocket , , , , , ,yes ,must register to iDocket. ,no -Hopkins , 36787 ,http://www.hopkinscountytx.org/ ,https://www.texasonlinerecords.com/clerk/?office_id=1 ,netdata ,2022 , , ,yes , ,yes ,must register + captcha ,no -Matagorda , 36255 ,http://www.co.matagorda.tx.us/ ,https://portal-txmatagorda.tylertech.cloud/Matagorda/ ,odyssey ,2011 , , , , , , ,no -Hill , 35874 ,http://www.co.hill.tx.us/ ,https://www.co.hill.tx.us/page/hill.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Washington , 35805 ,http://www.co.washington.tx.us/ ,https://www.co.washington.tx.us/page/washington.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Fannin , 35662 ,http://www.co.fannin.tx.us/ ,https://portal-txfannin.tylertech.cloud/Portal/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Howard , 34860 ,http://www.co.howard.tx.us/ ,https://txhowardodyprod.tylerhost.net/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Jasper , 32980 ,http://www.co.jasper.tx.us/ ,https://www.co.jasper.tx.us/page/jasper.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Hale , 32522 ,http://www.halecounty.org/ ,https://portal-txhale.tylertech.cloud/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Titus , 31247 ,http://www.co.titus.tx.us/ ,https://www.texasonlinerecords.com/clerk/?office_id=2 ,netdata ,2022 , , ,yes , ,yes ,must register + captcha. Looks like this may not include criminal data as well ,no -Bee , 31047 ,http://www.co.bee.tx.us/ ,https://www.co.bee.tx.us/page/bee.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Kleberg , 31040 ,http://www.co.kleberg.tx.us/ ,https://www.texasonlinerecords.com/clerk/?office_id=81 ,netdata ,2022 , , ,yes , ,yes ,must register + captcha. Looks like this may not include criminal data as well ,no -Austin , 30167 ,http://www.austincounty.com/ ,http://public.austincounty.com/ ,odyssey ,2003 , , , , , , ,no -Grimes , 29268 ,http://www.co.grimes.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Cass , 28454 ,http://www.co.cass.tx.us/ ,https://cc.co.cass.tx.us/Court/SearchEntry.aspx?cabinet=COURT_CRIMINAL ,Aumentum recorder ,2020.2.0 , , , , , ,scrapable ,no -Palo Pinto , 28409 ,http://www.co.palo-pinto.tx.us/ ,https://www.co.palo-pinto.tx.us/page/palopinto.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -San Jacinto , 27402 ,http://www.co.san-jacinto.tx.us/ ,https://txsanjacintoodyprod.tylerhost.net/PublicAccess/ ,odyssey ,2011 , , , , , , ,no -Gillespie , 26725 ,http://www.gillespiecounty.org/ ,https://portal-txgillespie.tylertech.cloud/PublicAccess/ ,odyssey ,2006 , , , , , , ,no -Milam , 24754 ,http://www.milamcounty.net/ ,https://www.milamcounty.net/page/milam.countyclerk ,iDocket , , , , , , ,must register to iDocket. ,no -Uvalde , 24564 ,http://www.uvaldecounty.com/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Fayette , 24435 ,http://www.co.fayette.tx.us/ ,https://www.co.fayette.tx.us/page/fayette.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Shelby , 24022 ,http://www.co.shelby.tx.us/ ,http://cc.co.shelby.tx.us/localization/notavailable.aspx ,Aumentum Recorder ,2021.1.0 ,yes , , , , ,search disabled. Must get records in person. ,no -Aransas , 23830 ,http://www.aransascountytx.gov/main/ ,https://www.aransascountytx.gov/clerk/ , , , , , , , ,it is unclear how to get criminal records ,no -Panola , 22491 ,http://www.co.panola.tx.us/ ,https://portal-txpanola.tylertech.cloud/PublicAccess/ ,odyssey ,2006 , , , , , , ,no -Limestone , 22146 ,http://www.co.limestone.tx.us/ ,https://www.co.limestone.tx.us/page/limestone.County.Clerk ,iDocket , , , , , , ,must register to iDocket. ,no -Houston , 22066 ,http://www.co.houston.tx.us/ ,https://www.co.houston.tx.us/page/houston.County.Clerk ,iDocket , , , , , , ,must register to iDocket. ,no -Lampasas , 21627 ,http://www.co.lampasas.tx.us/ ,https://www.co.lampasas.tx.us/page/lampasas.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Gaines , 21598 ,http://www.co.gaines.tx.us/ ,https://www.co.gaines.tx.us/page/gaines.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Hockley , 21537 ,http://www.co.hockley.tx.us/ ,https://www.co.hockley.tx.us/page/hockley.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Moore , 21358 ,http://www.co.moore.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Llano , 21243 ,http://www.co.llano.tx.us/ ,https://www.co.llano.tx.us/page/llano.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Gray , 21227 ,http://www.co.gray.tx.us/ ,http://www.lgs-hosted.com/rmtgraycck.html ,Local Government Solutions ,2017 , , , , ,yes ,must register. Seems broken orguest/orguest doesn’t work which Is default on other LGS sites. Nor does GRAYCCKINQ / 20!DiMe14 ,no -Bandera , 20851 ,http://www.banderacounty.org/ ,https://www.banderacounty.org/departments/RecordSearch.htm ,iDocket , , , , , , ,must register to iDocket. ,no -Hutchinson , 20617 ,http://www.co.hutchinson.tx.us/ ,https://portal-txhutchinson.tylertech.cloud/OdysseyPA/Login.aspx ,odyssey ,2011 , , , , ,yes ,requires login. Not clear how to get one. ,no -Colorado , 20557 ,http://www.co.colorado.tx.us/ ,https://www.co.colorado.tx.us/page/colorado.County.Clerk ,iDocket , , , , , , ,must register to iDocket. ,no -Lavaca , 20337 ,http://www.co.lavaca.tx.us/ ,https://www.co.lavaca.tx.us/page/lavaca.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Willacy , 20164 ,http://www.co.willacy.tx.us/ ,https://www.co.willacy.tx.us/page/willacy.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Calhoun , 20106 ,http://www.calhouncotx.org/ ,https://txcalhounportal.tylerhost.net/Portal/ ,odyssey ,2017.1.46.2 , , , , , , ,no -Montague , 19965 ,http://www.co.montague.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -DeWitt , 19824 ,http://www.co.dewitt.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Tyler , 19798 ,http://www.co.tyler.tx.us/ ,https://www.co.tyler.tx.us/page/tyler.CriminalRecordsRequestInstructions , , , , , ,yes , ,must make request and pay as far as I can tell ,no -Jones , 19663 ,http://www.co.jones.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Gonzales , 19653 ,http://www.co.gonzales.tx.us/ ,https://www.co.gonzales.tx.us/page/gonzales.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Freestone , 19435 ,http://www.co.freestone.tx.us/ ,https://www.co.freestone.tx.us/page/freestone.County.Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Andrews , 18610 ,http://www.co.andrews.tx.us/ ,https://www.co.andrews.tx.us/181/County-Clerk , , , , , , , ,it is unclear how to get criminal records ,no -Deaf Smith , 18583 ,http://www.co.deaf-smith.tx.us/ , , , , , , , , , ,no -Frio , 18385 ,http://www.co.frio.tx.us/ , , , , , , , , , ,no -Bosque , 18235 ,http://www.bosquecounty.us/ , , , , , , , , , ,no -Young , 17867 ,http://www.co.young.tx.us/ , , , , , , , , , ,no -Eastland , 17725 ,http://www.eastlandcountytexas.com/ , , , , , , , , , ,no -Burleson , 17642 ,http://www.co.burleson.tx.us/ , , , , , , , , , ,no -Lee , 17478 ,http://www.co.lee.tx.us/ ,http://www.lgs-hosted.com/rmtleecck.html ,Local Government Solutions ,2014 , , , , , ,LEECCKINQ / 20!DiMe14 default works. Scrapable ,no -Falls , 16968 ,http://co.falls.tx.us/ , , , , , , , , , ,no -Scurry , 16932 ,http://www.co.scurry.tx.us/ , , , , , , , , , ,no -Robertson , 16757 ,http://www.co.robertson.tx.us/ , , , , , , , , , ,no -Leon , 15719 ,http://www.co.leon.tx.us/ , , , , , , , , , ,no -Pecos , 15193 ,http://www.co.pecos.tx.us/ , , , , , , , , , ,no -Jackson , 14988 ,http://www.co.jackson.tx.us/ , , , , , , , , , ,no -Reeves , 14748 ,http://www.reevescountytexas.net/ , , , , , , , , , ,no -Nolan , 14738 ,http://www.co.nolan.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Karnes , 14710 ,http://www.co.karnes.tx.us/ , , , , , , , , , ,no -Zapata , 13889 ,http://www.co.zapata.tx.us/ , , , , , , , , , ,no -Callahan , 13708 ,http://www.co.callahan.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Trinity , 13602 ,http://www.co.trinity.tx.us/ , , , , , , , , , ,no -Comanche , 13594 ,http://www.co.comanche.tx.us/ , , , , , , , , , ,no -Madison , 13455 ,http://www.co.madison.tx.us/ , , , , , , , , , ,no -Lamb , 13045 ,http://www.co.lamb.tx.us/ , , , , , , , , , ,no -Wilbarger , 12887 ,http://www.co.wilbarger.tx.us/ , , , , , , , , , ,no -Camp , 12464 ,http://www.co.camp.tx.us/ , , , , , , , , , ,no -Dawson , 12456 ,http://www.co.dawson.tx.us/ , , , , , , , , , ,no -Newton , 12217 ,http://www.co.newton.tx.us/ , , , , , , , , , ,no -Rains , 12164 ,http://www.co.rains.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Morris , 11973 ,http://www.co.morris.tx.us/ ,http://txmorrisodyprod.tylerhost.net/PublicAccess/ ,odyssey ,2011 , , , , , ,PUBLICLOGIN#Public/Public# do not edit - used as data in scraper ,no -Terry , 11831 ,http://co.terry.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions ,2022 , , , , , ,scrapable ,no -Ward , 11644 ,http://www.co.ward.tx.us/ , , , , , , , , , ,no -Red River , 11587 ,http://www.co.red-river.tx.us/ , , , , , , , , , ,no -Blanco , 11374 ,http://www.co.blanco.tx.us/ , , , , , , , , , ,no -Live Oak , 11335 ,http://www.co.live-oak.tx.us/ , , , , , , , , , ,no -Franklin , 10359 ,http://co.franklin.tx.us/ , , , , , , , , , ,no -Clay , 10218 ,http://www.co.clay.tx.us/ , , , , , , , , , ,no -Ochiltree , 10015 ,http://www.co.ochiltree.tx.us/ , , , , , , , , , ,no -Runnels , 9900 ,http://www.co.runnels.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions , , , , , , ,scrapable ,no -Sabine , 9894 ,http://www.co.sabine.tx.us/ , , , , , , , , , ,no -Parmer , 9869 ,http://parmercounty.org/ , , , , , , , , , ,no -Duval , 9831 ,http://www.co.duval.tx.us/ , , , , , , , , , ,no -Marion , 9725 ,http://www.co.marion.tx.us/ , , , , , , , , , ,no -Zavala , 9670 ,http://www.co.zavala.tx.us/ , , , , , , , , , ,no -Brewster , 9546 ,http://www.brewstercountytx.com/ , , , , , , , , , ,no -Somervell , 9205 ,http://www.somervell.co/ , , , , , , , , , ,no -Stephens , 9101 ,http://www.co.stephens.tx.us/ , , , , , , , , , ,no -Mitchell , 8990 ,http://www.co.mitchell.tx.us/ , , , , , , , , , ,no -Dimmit , 8615 ,http://www.dimmitcounty.org/ , , , , , , , , , ,no -Archer , 8560 ,http://www.co.archer.tx.us/ , , , , , , , , , ,no -Jack , 8472 ,http://www.jackcounty.org/ , , , , , , , , , ,no -Hamilton , 8222 ,http://www.co.hamilton.tx.us/ , , , , , , , , , ,no -San Augustine , 7918 ,http://www.co.san-augustine.tx.us/ , , , , , , , , , ,no -Winkler , 7791 ,http://www.co.winkler.tx.us/ , , , , , , , , , ,no -Yoakum , 7694 ,http://www.co.yoakum.tx.us/ , , , , , , , , , ,no -Coleman , 7684 ,http://www.co.coleman.tx.us/ , , , , , , , , , ,no -McCulloch , 7630 ,http://www.co.mcculloch.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions , , , , , , ,scrapable ,no -Castro , 7371 ,http://www.co.castro.tx.us/ , , , , , , , , , ,no -Dallam , 7115 ,http://www.dallam.org/county/ , , , , , , , , , ,no -Brooks , 7076 ,http://www.co.brooks.tx.us/ , , , , , , , , , ,no -Goliad , 7012 ,http://www.co.goliad.tx.us/ , , , , , , , , , ,no -Swisher , 6971 ,http://www.co.swisher.tx.us/ , , , , , , , , , ,no -Bailey , 6904 ,http://www.co.bailey.tx.us/ , , , , , , , , , ,no -Refugio , 6741 ,http://www.co.refugio.tx.us/ , , , , , , , , , ,no -Childress , 6664 ,http://www.childresscountytexas.us/ , , , , , , , , , ,no -La Salle , 6664 ,http://www.co.la-salle.tx.us/ , , , , , , , , , ,no -Presidio , 6131 ,http://www.co.presidio.tx.us/ , , , , , , , , , ,no -Garza , 5816 ,http://www.garzacounty.net/ , , , , , , , , , ,no -Carson , 5807 ,http://www.co.carson.tx.us/ , , , , , , , , , ,no -San Saba , 5730 ,http://www.co.san-saba.tx.us/ , , , , , , , , , ,no -Lynn , 5596 ,http://www.co.lynn.tx.us/ , , , , , , , , , ,no -Haskell , 5416 ,http://www.co.haskell.tx.us/ , , , , , , , , , ,no -Floyd , 5402 ,http://co.floyd.tx.us/ , , , , , , , , , ,no -Hartley , 5382 ,http://www.co.hartley.tx.us/ , , , , , , , , , ,no -Hansford , 5285 ,http://www.co.hansford.tx.us/ , , , , , , , , , ,no -Martin , 5237 ,http://www.co.martin.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions , , , , , , ,scrapable ,no -Delta , 5230 ,http://www.deltacountytx.com/ , , , , , , , , , ,no -Crosby , 5133 ,http://www.co.crosby.tx.us/ , , , , , , , , , ,no -Wheeler , 4990 ,http://www.co.wheeler.tx.us/ , , , , , , , , , ,no -Jim Hogg , 4838 ,http://co.jim-hogg.tx.us/ , , , , , , , , , ,no -Crane , 4675 ,http://www.co.crane.tx.us/ , , , , , , , , , ,no -Mills , 4456 ,http://www.co.mills.tx.us/ , , , , , , , , , ,no -Kimble , 4286 ,http://www.co.kimble.tx.us/ , , , , , , , , , ,no -Mason , 3953 ,http://www.co.mason.tx.us/ , , , , , , , , , ,no -Fisher , 3672 ,http://www.co.fisher.tx.us/ , , , , , , , , , ,no -Hardeman , 3549 ,http://www.co.hardeman.tx.us/ , , , , , , , , , ,no -Baylor , 3465 ,http://www.co.baylor.tx.us/ , , , , , , , , , ,no -Reagan , 3385 ,http://www.co.reagan.tx.us/ , , , , , , , , , ,no -Hemphill , 3382 ,http://www.co.hemphill.tx.us/ , , , , , , , , , ,no -Sutton , 3372 ,http://www.co.sutton.tx.us/ , , , , , , , , , ,no -Knox , 3353 ,http://www.knoxcountytexas.org/ , , , , , , , , , ,no -Upton , 3308 ,http://www.co.upton.tx.us/ , , , , , , , , , ,no -Concho , 3303 ,http://www.co.concho.tx.us/ , , , , , , , , , ,no -Coke , 3285 ,http://www.co.coke.tx.us/ , , , , , , , , , ,no -Donley , 3258 ,http://www.co.donley.tx.us/ , , , , , , , , , ,no -Hudspeth , 3202 ,http://www.co.hudspeth.tx.us/ , , , , , , , , , ,no -Kinney , 3129 ,http://www.co.kinney.tx.us/ , , , , , , , , , ,no -Shackelford , 3105 ,http://www.co.shackelford.tx.us/ ,https://public.lgsonlinesolutions.com/ors.html ,Local Government Solutions , , , , , , ,scrapable ,no -Crockett , 3098 ,http://www.co.crockett.tx.us/ , , , , , , , , , ,no -Lipscomb , 3059 ,http://www.co.lipscomb.tx.us/ , , , , , , , , , ,no -Hall , 2825 ,https://www.co.hall.tx.us/ , , , , , , , , , ,no -Sherman , 2782 ,http://www.co.sherman.tx.us/ , , , , , , , , , ,no -Real , 2758 ,http://www.co.real.tx.us/ , , , , , , , , , ,no -Collingsworth , 2652 ,http://www.co.collingsworth.tx.us/ , , , , , , , , , ,no -Cochran , 2547 ,http://www.co.cochran.tx.us/ , , , , , , , , , ,no -Schleicher , 2451 ,http://www.co.schleicher.tx.us/ , , , , , , , , , ,no -Culberson , 2188 ,http://www.co.culberson.tx.us/ , , , , , , , , , ,no -Jeff Davis , 1996 ,http://www.co.jeff-davis.tx.us/ , , , , , , , , , ,no -Menard , 1962 ,http://co.menard.tx.us/ , , , , , , , , , ,no -Armstrong , 1848 ,http://www.co.armstrong.tx.us/ , , , , , , , , , ,no -Dickens , 1770 ,http://www.co.dickens.tx.us/ , , , , , , , , , ,no -Oldham , 1758 ,http://www.co.oldham.tx.us/ , , , , , , , , , ,no -Irion , 1513 ,http://www.co.irion.tx.us/ , , , , , , , , , ,no -Throckmorton , 1440 ,http://www.throckmortoncounty.org/ , , , , , , , , , ,no -Briscoe , 1435 ,http://www.co.briscoe.tx.us/ , , , , , , , , , ,no -Edwards , 1422 ,http://www.co.edwards.tx.us/ , , , , , , , , , ,no -Cottle , 1380 ,http://www.co.cottle.tx.us/ , , , , , , , , , ,no -Sterling , 1372 ,http://www.co.sterling.tx.us/ , , , , , , , , , ,no -Stonewall , 1245 ,http://www.co.stonewall.tx.us/ , , , , , , , , , ,no -Glasscock , 1116 ,http://www.co.glasscock.tx.us/ , , , , , , , , , ,no -Foard , 1095 ,http://www.foardcounty.texas.gov/ , , , , , , , , , ,no -Motley , 1063 ,http://www.co.motley.tx.us/ , , , , , , , , , ,no -Roberts , 827 ,http://www.co.roberts.tx.us/ , , , , , , , , , ,no -Terrell , 760 ,http://www.co.terrell.tx.us/ , , , , , , , , , ,no -Kent , 753 ,http://www.kentcountytexas.us/ , , , , , , , , , ,no -Borden , 631 ,http://www.co.borden.tx.us/ , , , , , , , , , ,no -McMullen , 600 ,http://www.mcmullencountytexas.us/ , , , , , , , , , ,no -Kenedy , 350 ,http://www.co.kenedy.tx.us/ , , , , , , , , , ,no -King , 265 ,http://www.co.king.tx.us/ , , , , , , , , , ,no -Loving , 64 ,http://www.co.loving.tx.us/ , , , , , , , , , ,no \ No newline at end of file +county,population,website,portal,type,version,search_disabled,site_down,captcha,must_pay,must_register,notes,scrape +Harris,4731145,http://www.harriscountytx.gov/,https://jpodysseyportal.harriscountytx.gov/OdysseyPortalJP/,odyssey,2017.1.46.2,,,,,,,no +Dallas,2613539,http://www.dallascounty.org/,https://courtsportal.dallascounty.org/DALLASPROD/,odyssey,2017.1.46.2,,,,,,,no +Tarrant,2110640,http://www.tarrantcounty.com/,https://odyssey.tarrantcounty.com/PublicAccess/,odyssey,2003,,,,,,,no +Bexar,2009324,http://www.bexar.org/,https://portal-txbexar.tylertech.cloud/Portal/,odyssey,2017.1.35.6,,yes – maintenance,,,,,no +Travis,1290188,https://www.traviscountytx.gov/,https://odysseypa.traviscountytx.gov/JPPublicAccess/,odyssey,2011,,,,,,,no +Collin,1064465,http://www.collincountytx.gov/,https://cijspub.co.collin.tx.us/,odyssey,2003,,,,,,,no +Denton,906422,https://dentoncounty.gov/,https://justice1.dentoncounty.gov/PublicAccess/,odyssey,2003,,,,,,,no +Hidalgo,870781,https://tx-hidalgocounty.civicplus.com/,https://pa.co.hidalgo.tx.us/,odyssey,2003,,,,,,,no +El Paso,865657,http://www.epcounty.com/,https://casesearch.epcounty.com/PublicAccess/,odyssey,2003,yes,,,yes,,,no +Fort Bend,822779,http://www.fortbendcountytx.gov/,https://tylerpaw.fortbendcountytx.gov/PublicAccess/,odyssey,2003,,,,,,,no +Montgomery,620443,http://www.mctx.org/,http://odyssey.mctx.org/Unsecured/,odyssey,2011,,,,,,,no +Williamson,609017,http://www.wilco.org/,https://judicialrecords.wilco.org/PublicAccess/,odyssey,2003,,,,,,,no +Cameron,421017,http://www.co.cameron.tx.us/,https://portal.co.cameron.tx.us/portalprod/,odyssey,2017.1.46.2,,,yes,,,,no +Brazoria,372031,http://brazoriacountytx.gov/,https://pubweb.brazoriacountytx.gov/PublicAccess/,odyssey,2011,,,,,,,no +Bell,370647,http://www.bellcountytx.com/,https://justice.bellcounty.texas.gov/PublicPortal/,odyssey,2017.1.46.2,,,,,,,no +Nueces,353178,http://www.co.nueces.tx.us/,https://portal-txnueces.tylertech.cloud/Portal/,odyssey,2024,,,,,,,no +Galveston,350682,http://www.galvestoncountytx.gov/,https://portal.galvestoncountytx.gov/portal/,odyssey,2017.1.46.2,,,yes,,,,no +Lubbock,310639,http://www.co.lubbock.tx.us/,https://publicrecords.lubbockcounty.gov/Portal/,odyssey,2017.1.40.0,,,,,,,no +Webb,267114,http://www.webbcountytx.gov/,https://publicaccess.webbcountytx.gov/PublicAccess/,odyssey,2011,,,,,,,no +McLennan,260579,http://www.co.mclennan.tx.us/,https://mclennan.edoctec.com/McLennanDCWeb/,edoctec,2022,,,,,,scrapable,no +Jefferson,256526,http://www.co.jefferson.tx.us/,https://jeffersontxclerk.manatron.com/Court/SearchEntry.aspx?cabinet=COURT_CRIMINAL,Aumentum recorder,3,,,,,,scrapable,no +Hays,241067,http://www.co.hays.tx.us/,http://public.co.hays.tx.us/,odyssey,2003,,,,,,,yes +Brazos,233849,http://www.brazoscountytx.gov/,https://brazoscountytx.gov/237/Public-Records,,,,,,,,does records requests through e-mail and fax as far as I can tell,no +Smith,233479,http://www.smith-county.com/,https://judicial.smith-county.com/PublicAccess/,odyssey,2011,,,,,,,no +Ellis,192455,http://www.co.ellis.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Johnson,179927,http://www.johnsoncountytx.org/,https://pa.johnsoncountytx.org/PublicAccess/,odyssey,2011,,,,,,,no +Guadalupe,172706,http://www.co.guadalupe.tx.us/,https://portal-txguadalupe.tylertech.cloud/PublicAccess/,odyssey,2015,,,,,,,no +Midland,169983,http://www.co.midland.tx.us/,http://jp.co.midland.tx.us/countyclerk/,netdata,2008,,,,,yes,must register. registration through County Clerk's office,no +Ector,165171,http://www.co.ector.tx.us/,https://portal-txector.tylertech.cloud/PortalProd/,odyssey,2017.1.46.2,,,,,,,no +Comal,161501,http://www.co.comal.tx.us/,http://public.co.comal.tx.us/default.aspx,odyssey,2003,yes,,,,,needs default.aspx in url or sends you to IIS default index,no +Parker,148222,http://www.parkercountytx.com/,https://txparkerodyprod.tylerhost.net/PublicAccess/,odyssey,2011,,,,,,,no +Kaufman,145310,http://www.kaufmancounty.net/,http://txkaufmanodyprod.tylerhost.net/PublicAccess/,odyssey,2003,yes,,,,,,no +Taylor,143208,http://www.taylorcountytexas.org/,http://publicaccess.taylorcountytexas.org/PublicAccess/,odyssey,2003,,,,,,,no +Randall,140753,http://randallcounty.com/,https://odysseypa.tylerhost.net/Randall/,odyssey,2011,,,,,,,no +Grayson,135543,http://www.co.grayson.tx.us/,https://judicialsearch.co.grayson.tx.us:8443/,odyssey,2011,,,,,,,no +Wichita,129350,http://www.co.wichita.tx.us/,https://portal-txwichita.tylertech.cloud/Portal/,odyssey,2017.1.46.2,,,,,,,no +Gregg,124239,http://www.co.gregg.tx.us/,http://beta.co.gregg.tx.us/OdysseyPA/,odyssey,2003,,,,,,,no +Tom Green,120003,http://www.co.tom-green.tx.us/,http://odysseypa.co.tom-green.tx.us/,odyssey,2003,,,,,,,no +Potter,118525,http://www.co.potter.tx.us/,https://portal-txpotter.tylertech.cloud/Portal/,odyssey,2017.1.46.2,,,,,,,no +Rockwall,107819,https://www.rockwallcountytexas.com/,https://portal-txrockwall.tylertech.cloud/Portal/,odyssey,2017.1.46.2,,,,,,,no +Hunt,99956,http://www.huntcounty.net/,https://portal-txhunt.tylertech.cloud/Portal/,odyssey,2017.1.46.2,yes,,,yes,,,no +Bastrop,97216,http://www.co.bastrop.tx.us/,http://records.co.bastrop.tx.us/PublicAccess/,odyssey,2003,,,,,,,no +Bowie,92893,http://www.co.bowie.tx.us/,https://portal-txbowie.tylertech.cloud/PublicAccess/,odyssey,2013,,,,,,,no +Liberty,91628,http://www.co.liberty.tx.us/,https://portal-txliberty.tylertech.cloud/Portal/,odyssey,2017.1.46.2,,,,,,,no +Victoria,91319,http://www.victoriacountytx.org/,http://odyssey.vctx.org/,odyssey,2003,,,,,,,no +Angelina,86395,http://www.angelinacounty.net/,http://public.angelinacounty.net/,odyssey,2003,,,yes,,,,no +Orange,84808,http://www.co.orange.tx.us/,https://www.co.orange.tx.us/departments/CountyClerk/OnlineRecordsSearch,myClerkbooks.com,2022,,,,,,scrapable,no +Coryell,83093,https://www.coryellcounty.org/,https://www.coryellcounty.org/page/coryell.County.Clerk,,,,,,,,it appears that you need to pay. it’s unclear though,no +Henderson,82150,http://www.henderson-county.com/,http://txhendersonodyprod.tylerhost.net/PublicAccess/,odyssey,2011,,,,,,,no +Walker,76400,http://www.co.walker.tx.us/,https://odysseypa.tylerhost.net/Walker/,odyssey,2003,,,,,,,no +Harrison,68839,http://harrisoncountytexas.org/,http://portal-txharrison.tylertech.cloud/PublicAccess/,odyssey,2011,,,,,,,no +San Patricio,68755,http://www.co.san-patricio.tx.us/,https://www.co.san-patricio.tx.us/page/sanpatricio.County.Clerk,,,,,,,,I believe you need to call or email for records,no +Wise,68632,http://www.co.wise.tx.us/,http://jail.co.wise.tx.us:81/,odyssey,2003,,,,,,,no +Starr,65920,http://www.co.starr.tx.us/,https://www.co.starr.tx.us/page/starr.County.Clerk,,,,,,yes,,criminal case request form,no +Nacogdoches,64653,http://www.co.nacogdoches.tx.us/,https://www.co.nacogdoches.tx.us/OpenRecords/Index.asp,,,,,,,,it is unclear how to get criminal records,no +Hood,61598,http://www.co.hood.tx.us/,https://www.texasonlinerecords.com/clerk/?office_id=24,netdata,2013,,,yes,,yes,must register + captcha,no +Van Zandt,59541,http://www.vanzandtcounty.org/,https://www.vanzandtcounty.org/page/vanzandt.County.Clerk,,,,,,,yes,uses countygovernmentrecords.com but it's not clear if this includes criminal records. Must register,no +Anderson,57922,http://www.co.anderson.tx.us/,http://ac5.co.anderson.tx.us/PublicAccess/,odyssey,2003,,,,,,,no +Maverick,57887,http://www.co.maverick.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Waller,56794,http://www.co.waller.tx.us/,https://odysseypa.tylerhost.net/Waller/,odyssey,2003,,,,,,,no +Hardin,56231,http://www.co.hardin.tx.us/,http://www.hardincourts.com/recordSearch.php,"Henschen & Associates, Inc.",2022,,,yes,,,scrapable outside of captcha,no +Navarro,52624,http://www.co.navarro.tx.us/,https://portal-txnavarro.tylertech.cloud/PublicAccess/,odyssey,2011,,,,,,,no +Kerr,52598,http://www.co.kerr.tx.us/,http://courts.co.kerr.tx.us/PublicAccess/,odyssey,2014,,yes - 403 Forbidden,,,,,no +Rusk,52214,http://www.co.rusk.tx.us/,https://www.co.rusk.tx.us/page/rusk.County.Clerk,,,,,,,,it is unclear how to get criminal records. There is a civil records request sheet,no +Medina,50748,http://www.medinacountytexas.org/,https://odysseypa.tylerhost.net/Medina/,odyssey,2003,,,,,,,no +Cherokee,50412,http://www.co.cherokee.tx.us/,https://cherokeeclerkofcourt.com/mainpage.aspx,ICON,5.1.1.1,,,,,,scrapable,no +Polk,50123,http://www.co.polk.tx.us/,https://www.co.polk.tx.us/page/polk.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Lamar,50088,http://www.co.lamar.tx.us/,https://txlamarodyprod.tylerhost.net/PublicAccess/,odyssey,2011,,,,,,,no +Wilson,49753,http://www.co.wilson.tx.us/,https://www.co.wilson.tx.us/page/wilson.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Burnet,49130,http://www.burnetcountytexas.org/,https://portal-txburnet.tylertech.cloud/ProdPortal,odyssey,2003,,,,,,PUBLICLOGIN#visitor/visitor# do not edit - used as data in scraper,no +Atascosa,48981,http://www.atascosacounty.texas.gov/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,looks scrapable but this is for district rather than county clerk. Could not find county records,no +Val Verde,47586,http://valverdecounty.texas.gov/,https://www.valverdecounty.texas.gov/153/County-Clerk,,,,,,,,it is unclear how to get criminal records,no +Chambers,46571,http://www.co.chambers.tx.us/,https://portal-txchambers.tylertech.cloud/Portal/,odyssey,2017.1.46.2,yes,,,yes,,,no +Caldwell,45883,http://www.co.caldwell.tx.us/,https://www.co.caldwell.tx.us/page/caldwell.County.Clerk,iDocket,,,,,,yes,must register to iDocket.,no +Wood,44843,http://www.mywoodcounty.com/,https://portal-txwood.tylertech.cloud/PublicAccess/,odyssey,2011,,,,,,,no +Kendall,44279,http://www.co.kendall.tx.us/,https://www.co.kendall.tx.us/page/County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Erath,42545,http://co.erath.tx.us/,https://www.texasonlinerecords.com/clerk/?office_id=21,netdata,2022,,,yes,,yes,must register + captcha,no +Cooke,41668,http://www.co.cooke.tx.us/,https://www.texasonlinerecords.com/clerk/?office_id=101,netdata,2022,,,yes,,yes,must register + captcha,no +Wharton,41570,http://www.co.wharton.tx.us/,https://www.co.wharton.tx.us/page/wharton.County.Clerk,iDocket,,,,,,yes,must register to iDocket.,no +Upshur,40892,http://www.countyofupshur.com/,https://www.texasonlinerecords.com/clerk/?office_id=43,netdata,2022,,,yes,,yes,must register + captcha,no +Jim Wells,38891,http://www.co.jim-wells.tx.us/,https://courtportal.co.jim-wells.tx.us/eservices/home.page.23,courtview,1.32.01,,,,,,scrapable,no +Brown,38095,http://www.browncountytx.org/,https://www.browncountytx.org/page/brown.County.Clerk,iDocket,,,,,,yes,must register to iDocket.,no +Hopkins,36787,http://www.hopkinscountytx.org/,https://www.texasonlinerecords.com/clerk/?office_id=1,netdata,2022,,,yes,,yes,must register + captcha,no +Matagorda,36255,http://www.co.matagorda.tx.us/,https://portal-txmatagorda.tylertech.cloud/Matagorda/,odyssey,2011,,,,,,,no +Hill,35874,http://www.co.hill.tx.us/,https://www.co.hill.tx.us/page/hill.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Washington,35805,http://www.co.washington.tx.us/,https://www.co.washington.tx.us/page/washington.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Fannin,35662,http://www.co.fannin.tx.us/,https://portal-txfannin.tylertech.cloud/Portal/,odyssey,2017.1.46.2,,,,,,,no +Howard,34860,http://www.co.howard.tx.us/,https://txhowardodyprod.tylerhost.net/PublicAccess/,odyssey,2011,,,,,,,no +Jasper,32980,http://www.co.jasper.tx.us/,https://www.co.jasper.tx.us/page/jasper.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Hale,32522,http://www.halecounty.org/,https://portal-txhale.tylertech.cloud/PublicAccess/,odyssey,2011,,,,,,,no +Titus,31247,http://www.co.titus.tx.us/,https://www.texasonlinerecords.com/clerk/?office_id=2,netdata,2022,,,yes,,yes,must register + captcha. Looks like this may not include criminal data as well,no +Bee,31047,http://www.co.bee.tx.us/,https://www.co.bee.tx.us/page/bee.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Kleberg,31040,http://www.co.kleberg.tx.us/,https://www.texasonlinerecords.com/clerk/?office_id=81,netdata,2022,,,yes,,yes,must register + captcha. Looks like this may not include criminal data as well,no +Austin,30167,http://www.austincounty.com/,http://public.austincounty.com/,odyssey,2003,,,,,,,no +Grimes,29268,http://www.co.grimes.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Cass,28454,http://www.co.cass.tx.us/,https://cc.co.cass.tx.us/Court/SearchEntry.aspx?cabinet=COURT_CRIMINAL,Aumentum recorder,2020.2.0,,,,,,scrapable,no +Palo Pinto,28409,http://www.co.palo-pinto.tx.us/,https://www.co.palo-pinto.tx.us/page/palopinto.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +San Jacinto,27402,http://www.co.san-jacinto.tx.us/,https://txsanjacintoodyprod.tylerhost.net/PublicAccess/,odyssey,2011,,,,,,,no +Gillespie,26725,http://www.gillespiecounty.org/,https://portal-txgillespie.tylertech.cloud/PublicAccess/,odyssey,2006,,,,,,,no +Milam,24754,http://www.milamcounty.net/,https://www.milamcounty.net/page/milam.countyclerk,iDocket,,,,,,,must register to iDocket.,no +Uvalde,24564,http://www.uvaldecounty.com/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Fayette,24435,http://www.co.fayette.tx.us/,https://www.co.fayette.tx.us/page/fayette.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Shelby,24022,http://www.co.shelby.tx.us/,http://cc.co.shelby.tx.us/localization/notavailable.aspx,Aumentum Recorder,2021.1.0,yes,,,,,search disabled. Must get records in person.,no +Aransas,23830,http://www.aransascountytx.gov/main/,https://www.aransascountytx.gov/clerk/,,,,,,,,it is unclear how to get criminal records,no +Panola,22491,http://www.co.panola.tx.us/,https://portal-txpanola.tylertech.cloud/PublicAccess/,odyssey,2006,,,,,,,no +Limestone,22146,http://www.co.limestone.tx.us/,https://www.co.limestone.tx.us/page/limestone.County.Clerk,iDocket,,,,,,,must register to iDocket.,no +Houston,22066,http://www.co.houston.tx.us/,https://www.co.houston.tx.us/page/houston.County.Clerk,iDocket,,,,,,,must register to iDocket.,no +Lampasas,21627,http://www.co.lampasas.tx.us/,https://www.co.lampasas.tx.us/page/lampasas.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Gaines,21598,http://www.co.gaines.tx.us/,https://www.co.gaines.tx.us/page/gaines.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Hockley,21537,http://www.co.hockley.tx.us/,https://www.co.hockley.tx.us/page/hockley.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Moore,21358,http://www.co.moore.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Llano,21243,http://www.co.llano.tx.us/,https://www.co.llano.tx.us/page/llano.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Gray,21227,http://www.co.gray.tx.us/,http://www.lgs-hosted.com/rmtgraycck.html,Local Government Solutions,2017,,,,,yes,must register. Seems broken orguest/orguest doesn’t work which Is default on other LGS sites. Nor does GRAYCCKINQ / 20!DiMe14,no +Bandera,20851,http://www.banderacounty.org/,https://www.banderacounty.org/departments/RecordSearch.htm,iDocket,,,,,,,must register to iDocket.,no +Hutchinson,20617,http://www.co.hutchinson.tx.us/,https://portal-txhutchinson.tylertech.cloud/OdysseyPA/Login.aspx,odyssey,2011,,,,,yes,requires login. Not clear how to get one.,no +Colorado,20557,http://www.co.colorado.tx.us/,https://www.co.colorado.tx.us/page/colorado.County.Clerk,iDocket,,,,,,,must register to iDocket.,no +Lavaca,20337,http://www.co.lavaca.tx.us/,https://www.co.lavaca.tx.us/page/lavaca.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Willacy,20164,http://www.co.willacy.tx.us/,https://www.co.willacy.tx.us/page/willacy.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Calhoun,20106,http://www.calhouncotx.org/,https://txcalhounportal.tylerhost.net/Portal/,odyssey,2017.1.46.2,,,,,,,no +Montague,19965,http://www.co.montague.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +DeWitt,19824,http://www.co.dewitt.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Tyler,19798,http://www.co.tyler.tx.us/,https://www.co.tyler.tx.us/page/tyler.CriminalRecordsRequestInstructions,,,,,,yes,,must make request and pay as far as I can tell,no +Jones,19663,http://www.co.jones.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Gonzales,19653,http://www.co.gonzales.tx.us/,https://www.co.gonzales.tx.us/page/gonzales.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Freestone,19435,http://www.co.freestone.tx.us/,https://www.co.freestone.tx.us/page/freestone.County.Clerk,,,,,,,,it is unclear how to get criminal records,no +Andrews,18610,http://www.co.andrews.tx.us/,https://www.co.andrews.tx.us/181/County-Clerk,,,,,,,,it is unclear how to get criminal records,no +Deaf Smith,18583,http://www.co.deaf-smith.tx.us/,,,,,,,,,,no +Frio,18385,http://www.co.frio.tx.us/,,,,,,,,,,no +Bosque,18235,http://www.bosquecounty.us/,,,,,,,,,,no +Young,17867,http://www.co.young.tx.us/,,,,,,,,,,no +Eastland,17725,http://www.eastlandcountytexas.com/,,,,,,,,,,no +Burleson,17642,http://www.co.burleson.tx.us/,,,,,,,,,,no +Lee,17478,http://www.co.lee.tx.us/,http://www.lgs-hosted.com/rmtleecck.html,Local Government Solutions,2014,,,,,,LEECCKINQ / 20!DiMe14 default works. Scrapable,no +Falls,16968,http://co.falls.tx.us/,,,,,,,,,,no +Scurry,16932,http://www.co.scurry.tx.us/,,,,,,,,,,no +Robertson,16757,http://www.co.robertson.tx.us/,,,,,,,,,,no +Leon,15719,http://www.co.leon.tx.us/,,,,,,,,,,no +Pecos,15193,http://www.co.pecos.tx.us/,,,,,,,,,,no +Jackson,14988,http://www.co.jackson.tx.us/,,,,,,,,,,no +Reeves,14748,http://www.reevescountytexas.net/,,,,,,,,,,no +Nolan,14738,http://www.co.nolan.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Karnes,14710,http://www.co.karnes.tx.us/,,,,,,,,,,no +Zapata,13889,http://www.co.zapata.tx.us/,,,,,,,,,,no +Callahan,13708,http://www.co.callahan.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Trinity,13602,http://www.co.trinity.tx.us/,,,,,,,,,,no +Comanche,13594,http://www.co.comanche.tx.us/,,,,,,,,,,no +Madison,13455,http://www.co.madison.tx.us/,,,,,,,,,,no +Lamb,13045,http://www.co.lamb.tx.us/,,,,,,,,,,no +Wilbarger,12887,http://www.co.wilbarger.tx.us/,,,,,,,,,,no +Camp,12464,http://www.co.camp.tx.us/,,,,,,,,,,no +Dawson,12456,http://www.co.dawson.tx.us/,,,,,,,,,,no +Newton,12217,http://www.co.newton.tx.us/,,,,,,,,,,no +Rains,12164,http://www.co.rains.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Morris,11973,http://www.co.morris.tx.us/,http://txmorrisodyprod.tylerhost.net/PublicAccess/,odyssey,2011,,,,,,PUBLICLOGIN#Public/Public# do not edit - used as data in scraper,no +Terry,11831,http://co.terry.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,2022,,,,,,scrapable,no +Ward,11644,http://www.co.ward.tx.us/,,,,,,,,,,no +Red River,11587,http://www.co.red-river.tx.us/,,,,,,,,,,no +Blanco,11374,http://www.co.blanco.tx.us/,,,,,,,,,,no +Live Oak,11335,http://www.co.live-oak.tx.us/,,,,,,,,,,no +Franklin,10359,http://co.franklin.tx.us/,,,,,,,,,,no +Clay,10218,http://www.co.clay.tx.us/,,,,,,,,,,no +Ochiltree,10015,http://www.co.ochiltree.tx.us/,,,,,,,,,,no +Runnels,9900,http://www.co.runnels.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,,,,,,,scrapable,no +Sabine,9894,http://www.co.sabine.tx.us/,,,,,,,,,,no +Parmer,9869,http://parmercounty.org/,,,,,,,,,,no +Duval,9831,http://www.co.duval.tx.us/,,,,,,,,,,no +Marion,9725,http://www.co.marion.tx.us/,,,,,,,,,,no +Zavala,9670,http://www.co.zavala.tx.us/,,,,,,,,,,no +Brewster,9546,http://www.brewstercountytx.com/,,,,,,,,,,no +Somervell,9205,http://www.somervell.co/,,,,,,,,,,no +Stephens,9101,http://www.co.stephens.tx.us/,,,,,,,,,,no +Mitchell,8990,http://www.co.mitchell.tx.us/,,,,,,,,,,no +Dimmit,8615,http://www.dimmitcounty.org/,,,,,,,,,,no +Archer,8560,http://www.co.archer.tx.us/,,,,,,,,,,no +Jack,8472,http://www.jackcounty.org/,,,,,,,,,,no +Hamilton,8222,http://www.co.hamilton.tx.us/,,,,,,,,,,no +San Augustine,7918,http://www.co.san-augustine.tx.us/,,,,,,,,,,no +Winkler,7791,http://www.co.winkler.tx.us/,,,,,,,,,,no +Yoakum,7694,http://www.co.yoakum.tx.us/,,,,,,,,,,no +Coleman,7684,http://www.co.coleman.tx.us/,,,,,,,,,,no +McCulloch,7630,http://www.co.mcculloch.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,,,,,,,scrapable,no +Castro,7371,http://www.co.castro.tx.us/,,,,,,,,,,no +Dallam,7115,http://www.dallam.org/county/,,,,,,,,,,no +Brooks,7076,http://www.co.brooks.tx.us/,,,,,,,,,,no +Goliad,7012,http://www.co.goliad.tx.us/,,,,,,,,,,no +Swisher,6971,http://www.co.swisher.tx.us/,,,,,,,,,,no +Bailey,6904,http://www.co.bailey.tx.us/,,,,,,,,,,no +Refugio,6741,http://www.co.refugio.tx.us/,,,,,,,,,,no +Childress,6664,http://www.childresscountytexas.us/,,,,,,,,,,no +La Salle,6664,http://www.co.la-salle.tx.us/,,,,,,,,,,no +Presidio,6131,http://www.co.presidio.tx.us/,,,,,,,,,,no +Garza,5816,http://www.garzacounty.net/,,,,,,,,,,no +Carson,5807,http://www.co.carson.tx.us/,,,,,,,,,,no +San Saba,5730,http://www.co.san-saba.tx.us/,,,,,,,,,,no +Lynn,5596,http://www.co.lynn.tx.us/,,,,,,,,,,no +Haskell,5416,http://www.co.haskell.tx.us/,,,,,,,,,,no +Floyd,5402,http://co.floyd.tx.us/,,,,,,,,,,no +Hartley,5382,http://www.co.hartley.tx.us/,,,,,,,,,,no +Hansford,5285,http://www.co.hansford.tx.us/,,,,,,,,,,no +Martin,5237,http://www.co.martin.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,,,,,,,scrapable,no +Delta,5230,http://www.deltacountytx.com/,,,,,,,,,,no +Crosby,5133,http://www.co.crosby.tx.us/,,,,,,,,,,no +Wheeler,4990,http://www.co.wheeler.tx.us/,,,,,,,,,,no +Jim Hogg,4838,http://co.jim-hogg.tx.us/,,,,,,,,,,no +Crane,4675,http://www.co.crane.tx.us/,,,,,,,,,,no +Mills,4456,http://www.co.mills.tx.us/,,,,,,,,,,no +Kimble,4286,http://www.co.kimble.tx.us/,,,,,,,,,,no +Mason,3953,http://www.co.mason.tx.us/,,,,,,,,,,no +Fisher,3672,http://www.co.fisher.tx.us/,,,,,,,,,,no +Hardeman,3549,http://www.co.hardeman.tx.us/,,,,,,,,,,no +Baylor,3465,http://www.co.baylor.tx.us/,,,,,,,,,,no +Reagan,3385,http://www.co.reagan.tx.us/,,,,,,,,,,no +Hemphill,3382,http://www.co.hemphill.tx.us/,,,,,,,,,,no +Sutton,3372,http://www.co.sutton.tx.us/,,,,,,,,,,no +Knox,3353,http://www.knoxcountytexas.org/,,,,,,,,,,no +Upton,3308,http://www.co.upton.tx.us/,,,,,,,,,,no +Concho,3303,http://www.co.concho.tx.us/,,,,,,,,,,no +Coke,3285,http://www.co.coke.tx.us/,,,,,,,,,,no +Donley,3258,http://www.co.donley.tx.us/,,,,,,,,,,no +Hudspeth,3202,http://www.co.hudspeth.tx.us/,,,,,,,,,,no +Kinney,3129,http://www.co.kinney.tx.us/,,,,,,,,,,no +Shackelford,3105,http://www.co.shackelford.tx.us/,https://public.lgsonlinesolutions.com/ors.html,Local Government Solutions,,,,,,,scrapable,no +Crockett,3098,http://www.co.crockett.tx.us/,,,,,,,,,,no +Lipscomb,3059,http://www.co.lipscomb.tx.us/,,,,,,,,,,no +Hall,2825,https://www.co.hall.tx.us/,,,,,,,,,,no +Sherman,2782,http://www.co.sherman.tx.us/,,,,,,,,,,no +Real,2758,http://www.co.real.tx.us/,,,,,,,,,,no +Collingsworth,2652,http://www.co.collingsworth.tx.us/,,,,,,,,,,no +Cochran,2547,http://www.co.cochran.tx.us/,,,,,,,,,,no +Schleicher,2451,http://www.co.schleicher.tx.us/,,,,,,,,,,no +Culberson,2188,http://www.co.culberson.tx.us/,,,,,,,,,,no +Jeff Davis,1996,http://www.co.jeff-davis.tx.us/,,,,,,,,,,no +Menard,1962,http://co.menard.tx.us/,,,,,,,,,,no +Armstrong,1848,http://www.co.armstrong.tx.us/,,,,,,,,,,no +Dickens,1770,http://www.co.dickens.tx.us/,,,,,,,,,,no +Oldham,1758,http://www.co.oldham.tx.us/,,,,,,,,,,no +Irion,1513,http://www.co.irion.tx.us/,,,,,,,,,,no +Throckmorton,1440,http://www.throckmortoncounty.org/,,,,,,,,,,no +Briscoe,1435,http://www.co.briscoe.tx.us/,,,,,,,,,,no +Edwards,1422,http://www.co.edwards.tx.us/,,,,,,,,,,no +Cottle,1380,http://www.co.cottle.tx.us/,,,,,,,,,,no +Sterling,1372,http://www.co.sterling.tx.us/,,,,,,,,,,no +Stonewall,1245,http://www.co.stonewall.tx.us/,,,,,,,,,,no +Glasscock,1116,http://www.co.glasscock.tx.us/,,,,,,,,,,no +Foard,1095,http://www.foardcounty.texas.gov/,,,,,,,,,,no +Motley,1063,http://www.co.motley.tx.us/,,,,,,,,,,no +Roberts,827,http://www.co.roberts.tx.us/,,,,,,,,,,no +Terrell,760,http://www.co.terrell.tx.us/,,,,,,,,,,no +Kent,753,http://www.kentcountytexas.us/,,,,,,,,,,no +Borden,631,http://www.co.borden.tx.us/,,,,,,,,,,no +McMullen,600,http://www.mcmullencountytexas.us/,,,,,,,,,,no +Kenedy,350,http://www.co.kenedy.tx.us/,,,,,,,,,,no +King,265,http://www.co.king.tx.us/,,,,,,,,,,no +Loving,64,http://www.co.loving.tx.us/,,,,,,,,,,no \ No newline at end of file diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..5ed7489 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1,6 @@ +from . import cleaner +from . import orchestrator +from . import parser +from . import scraper +from . import tools +from . import updater diff --git a/src/orchestrator/__init__.py b/src/orchestrator/__init__.py index 6abfde4..4c7f8c4 100644 --- a/src/orchestrator/__init__.py +++ b/src/orchestrator/__init__.py @@ -1,23 +1,18 @@ import sys, os, csv -# Appends the parent directory of this handler script to the sys.path -current_dir = os.path.dirname(os.path.abspath(__file__)) -parent_dir = os.path.dirname(current_dir) -sys.path.append(parent_dir) - # Import all of the programs modules within the parent_dir -from scraper import scraper -from parser import parser -from cleaner import cleaner -from updater import updater +import scraper +import parser +import cleaner +import updater -class orchestrator: +class Orchestrator: def __init__(self): #Sets our base parameters self.counties = [] self.start_date = '2024-07-01' #Update start date here self.end_date = '2024-07-01' #Update start date here - def orchestrate(self, test): + def orchestrate(self, test: bool = False): #This open the county data CSV to see which counties should be scraped, parsed, cleaned, and updated. with open( @@ -41,4 +36,5 @@ def orchestrate(self, test): updater(c).update() #src/updater print(f"Completed with scraping, parsing, cleaning, and updating of this county: {c}") -orchestrator().orchestrate() +if __name__ == '__main__': + Orchestrator().orchestrate() diff --git a/src/parser/__init__.py b/src/parser/__init__.py index 3c067d2..7b7b973 100644 --- a/src/parser/__init__.py +++ b/src/parser/__init__.py @@ -71,6 +71,7 @@ def get_directories(self, county, test): def get_list_of_html(self, case_html_path, case_number, county, test): # This will loop through the html in the folder they were scraped to. + os.makedirs(case_html_path, exist_ok=True) case_html_list = os.listdir(case_html_path) # However, if an optional case number is passed to the function, then read in the case number html file from the data folder @@ -104,15 +105,16 @@ def write_json_data(self, case_json_path, case_number, case_data, test): file_handle.write(json.dumps(case_data)) def write_error_log(self, county, case_number): + basepath = os.path.join( + os.path.dirname(__file__), + "..", + "..", + "data", + county, + ) + os.makedirs(basepath, exist_ok=True) with open( - os.path.join( - os.path.dirname(__file__), - "..", - "..", - "data", - county, - "cases_with_parsing_error.txt", - ), + os.path.join(basepath, "cases_with_parsing_error.txt"), "w", ) as file_handle: file_handle.write(case_number + "\n") @@ -148,8 +150,13 @@ def parse(self, county, case_number, test): #remove the test value here and just case_html_file_path = self.get_html_path(case_html_path, case_html_file_name, case_number, test) print(f"{case_number} - parsing") - with open(case_html_file_path, "r") as file_handle: - case_soup = BeautifulSoup(file_handle, "html.parser", from_encoding="UTF-8") + # strip out invalid utf-8 characters + with open(case_html_file_path, "r", encoding='utf-8', errors='ignore') as file_handle: + try: + case_soup = BeautifulSoup(file_handle, "html.parser", from_encoding="UTF-8") + except Exception as e: + print(f'error building beautiful soup for file {case_html_file_path}, {e}') + raise e # Get the county-specific parser class and method parser_instance, parser_function = self.get_class_and_method(county=county) diff --git a/src/scraper/__init__.py b/src/scraper/__init__.py index fb1e11a..4feec12 100644 --- a/src/scraper/__init__.py +++ b/src/scraper/__init__.py @@ -13,6 +13,7 @@ import importlib class Scraper: + """Scrape Odyssey html files into an output folder""" def __init__(self): pass diff --git a/src/tester/test_unittest.py b/src/tester/test_unittest.py index b4d73e2..b096b73 100644 --- a/src/tester/test_unittest.py +++ b/src/tester/test_unittest.py @@ -12,6 +12,8 @@ from cleaner import Cleaner from updater import Updater +SKIP_SLOW = os.getenv('SKIP_SLOW', 'false').lower().strip() == 'true' + def log(message, level='INFO'): # Provide message and info level (optional, defaulting to info) # configure the logger log = logging.getLogger(name="pid: " + str(os.getpid())) @@ -252,6 +254,7 @@ def test_scrape_results_page(self, #def scrape_case_data_pre2017() #def scrape_case_data_post2017() + @unittest.skipIf(SKIP_SLOW, "slow") def test_scrape_multiple_cases(self, county = 'hays', odyssey_version = 2003,