Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7053071
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T03:27:37+00:00 2026-05-28T03:27:37+00:00

Aim I am looking to scrape 20/20 cricket scorecard data from the Cricinfo website

  • 0

Aim

I am looking to scrape 20/20 cricket scorecard data from the Cricinfo website, ideally into CSV form for data analysis in Excel

As an example the current Australian Big Bash 2011/12 scorecards are available from

  • Game 1: http://www.espncricinfo.com/big-bash-league-2011/engine/match/524915.html
  • Last Game: http://www.espncricinfo.com/big-bash-league-2011/engine/match/524935.html

Background

I am proficient in using VBA (either automating IE or using XMLHTTP and then using regular expressions) to scrape data from websites, ie
Extract values from HTML TD and Tr

In that same question a comment was posted suggesting html parsing – which I hadn’t come accross before – so I have taken a look at questions such as RegEx match open tags except XHTML self-contained tags

Query

While I could write a regex to parse the cricket data below I would like advice as to how I could efficiently retrieve these results with html parsing.

Please bear in mind that my preference is a repeatable CSV format containing:

  • the date/name of the match
  • Team 1 name
  • the output should dump up to 11 records for Team 1 (blank records where players haven’t batted, ie “Did Not Bat”)
  • Team 2 name
  • the output should dump up to 11 records for Team 2 (blank records where players haven’t batted)

Nirvana for me would be a solution that I could deploy using VBA or VBscript so I could fully automate my analysis, but I presume I will have to use a separate tool for the html parse.

Sample Site links and Data to be Extracted

cricinfo scorecard
source date

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T03:27:37+00:00Added an answer on May 28, 2026 at 3:27 am

    There are 2 techniques that I use for “VBA”. I will describe them 1 by one.

    1) Using FireFox / Firebug Addon / Fiddler

    2) Using Excel’s inbuilt facility to get data from the web

    Since this post will be read by many so I will even cover the obvious. Please feel free to skip whatever part you know


    1) Using FireFox / Firebug Addon / Fiddler


    FireFox : http://en.wikipedia.org/wiki/Firefox
    Free download (http://www.mozilla.org/en-US/firefox/new/)

    Firebug Addon: http://en.wikipedia.org/wiki/Firebug_%28software%29
    Free download (https://addons.mozilla.org/en-US/firefox/addon/firebug/)

    Fiddler : http://en.wikipedia.org/wiki/Fiddler_%28software%29
    Free download (http://www.fiddler2.com/fiddler2/)

    Once you have installed Firefox, install the Firebug Addon. The Firebug Addon lets you inspect the different elements in a webpage. For example if you want to know the name of a button, simply right click on it and click on “Inspect Element with Firebug” and it will give you all the details that you will need for that button.

    enter image description here

    Another example would be finding the name of a table on a website which has the data that you need scrapped.

    I use Fiddler only when I am using XMLHTTP. It helps me to see the exact info being passed when you click on a button. Because of the increase in the number of BOTS which scrape the sites, most sites now, to prevent automatic scrapping, capture your mouse coordinates and pass that information and fiddler actually helps you in debugging that info that is being passed. I will not get into much details here about it as this info can be used maliciously.

    Now let’s take a simple example on how to scrape the URL posted in your question

    http://www.espncricinfo.com/big-bash-league-2011/engine/match/524915.html

    First let’s find the name of the table which has that info. Simply right click on the table and click on “Inspect Element with Firebug” and it will give you the below snapshot.

    enter image description here

    So now we know that our data is stored in a table called “inningsBat1” If we can extract the contents of that table to an Excel file then we can definitely work with the data to do our analysis. Here is sample code which will dump that table in Sheet1

    Before we proceed, I would recommend, closing all Excel and starting a fresh instance.

    Launch VBA and insert a Userform. Place a command button and a webcrowser control. Your Userform might look like this

    enter image description here

    Paste this code in the Userform code area

    Option Explicit
    
    '~~> Set Reference to Microsoft HTML Object Library
    
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    
    Private Sub CommandButton1_Click()
        Dim URL As String
        Dim oSheet As Worksheet
    
        Set oSheet = Sheets("Sheet1")
    
        URL = "http://www.espncricinfo.com/big-bash-league-2011/engine/match/524915.html"
    
        PopulateDataSheets oSheet, URL
    
        MsgBox "Data Scrapped. Please check " & oSheet.Name
    End Sub
    
    Public Sub PopulateDataSheets(wsk As Worksheet, URL As String)
        Dim tbl As HTMLTable
        Dim tr As HTMLTableRow
        Dim insertRow As Long, Row As Long, col As Long
    
        On Error GoTo whoa
    
        WebBrowser1.navigate URL
    
        WaitForWBReady
    
        Set tbl = WebBrowser1.Document.getElementById("inningsBat1")
    
        With wsk
            .Cells.Clear
    
            insertRow = 0
            For Row = 0 To tbl.Rows.Length - 1
                Set tr = tbl.Rows(Row)
                If Trim(tr.innerText) <> "" Then
                    If tr.Cells.Length > 2 Then
                        If tr.Cells(1).innerText <> "Total" Then
                            insertRow = insertRow + 1
                            For col = 0 To tr.Cells.Length - 1
                                .Cells(insertRow, col + 1) = tr.Cells(col).innerText
                            Next
                        End If
                    End If
                End If
            Next
        End With
    whoa:
        Unload Me
    End Sub
    
    Private Sub Wait(ByVal nSec As Long)
        nSec = nSec + Timer
        While Timer < nSec
           DoEvents
            Sleep 100
        Wend
    End Sub
    
    Private Sub WaitForWBReady()
        Wait 1
        While WebBrowser1.ReadyState <> 4
            Wait 3
        Wend
    End Sub
    

    Now run your Userform and click on the Command button. You will notice that the data is dumped in Sheet1. See snapshot

    enter image description here

    Similarly you can scrape other info as well.


    2) Using Excel’s inbuilt facility to get data from the web


    I believe you are using Excel 2007 so I will take that as an example to scrape the above mentioned link.

    Navigate to Sheet2. Now navigate to Data Tab and click on the button “From Web” on the extreme right. See snapshot.

    enter image description here

    Enter the url in the “New Web Query Window” and click on “Go”

    Once the page is uploaded, select the relevant table that you want to import by clicking on the small arrow as shown in the snapshot. Once done, click on “Import”

    enter image description here

    Excel will then ask you where you want the data to be imported. Select the relevant cell and click on OK. And you are done! The data will be imported to the cell which you specified.

    If you wish you can record a macro and automate this as well 🙂

    Here is the macro that I recorded.

    Sub Macro1()
        With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://www.espncricinfo.com/big-bash-league-2011/engine/match/524915.html" _
        , Destination:=Range("$A$1"))
            .Name = "524915"
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .BackgroundQuery = True
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .WebSelectionType = xlSpecifiedTables
            .WebFormatting = xlWebFormattingNone
            .WebTables = """inningsBat1"""
            .WebPreFormattedTextToColumns = True
            .WebConsecutiveDelimitersAsOne = True
            .WebSingleBlockTextImport = False
            .WebDisableDateRecognition = False
            .WebDisableRedirections = False
            .Refresh BackgroundQuery:=False
        End With
    End Sub
    

    Hope this helps. Let me know if you still have some queries.

    Sid

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm currently looking into XSS attacks, with the aim of using them in client
I'm looking into building an IM-type application using Java stack (for the server at
I was looking to build a Data Access Layer for my new web based
I'm looking to parse some HTML which is submitted from ckeditor. The HTML which
Aim: Calling a very slow stored procedure (with parameters) asynchronously from code behind of
I have to build many data-driven web application for various clients. The aim is
I'm using jwplayer to display videos on a website. I'm looking for a jQuery
I am looking at how/if I should make the switch from svn to git.
I'm looking for an open source implementation, preferably in python, of Textual Sentiment Analysis
I'll looking for advice/resources to write a program that can intercept system calls from

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.