You are here


  • <filename>
  • <mode>
  • <postprocess>
  • <proxy>
  • <user-agent>
  • <logging>
  • <retry>
  • <skip>
  • <timespan>
  • <license>
  • <decryptkey>
  • <update>
  • <channel>
  • <channel Combi-Channels>
  • <channel Timeoffset-Channels>
  • <filename>

    The absolute file name of the xtml file (epg file) that will be generated. The file name must be absolute and not relative! If the file already exist (from a previous run or from another xmltv source) it will be updated. If no such file exist it will be created.


    Element values
    file path the absolute file name of the xml file


    d,nomark verify
    Element values
    short long  
    d debug saves the output xmltv file in a file with -debug addition in the file name . The original xmltv file will be kept.
    m measure measures the time for each updated show or new show added
    n nomark disables the update-type marking (n) (c) (g) (r) at the end of the description
    v verify verifies the result following a channel update
    w wget use wget as grab engine (might improve site recognition in rare cases)
    Both short and long can be mixed, separated by comma's and/or spaces



    This element is optional and specifies which of the available post processes should run.

    Element values
    post process name The name of the process to run.
    "mdb" runs a build in movie database grabber (read / adapt ...\mdb\mdb.confif.xml
    "rex" runs a postprocess that re-allocates xmltv elements (read / adapt ...\rex\rex.config.xml)
    grab specifies if the EPG grabbing is run first
    yes,y,true,on = grabs EPG first (default)
    no,n,false,off = skip EPG grabbing
    run specifies if a post process is run
    yes,y,true,on = runs the post process (default)
    no,n,false,off = skips the post process



    This setting is only required if your computer is behind a proxy.

    Element values
    address:port the address of the proxy server followed by the port
    "automatic" attempts to read the proxy address from your connection settings
    user the user name needed by the proxy
    password the password needed by the proxy



    The user agent string that is sent to the tvguide website. Some sites require this.

    Element values
    user-agent some valid values:
    random (the program generates a random string)
    Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US)
    Mozilla/5.0 (Linux; U; Android 0.5; en-us) AppleWebKit/522+ (KHTML, like Gecko) Safari/419.3



    Sets the logging behavior of the program.

    Element values
    enable on = start logging, anything else will turn it off



    This element configures the retry mechanism of the grabber engine. The element value is the number of times the engine will retry to capture a page. After the retries the engine will go on with the next page. Additional settings can be set through attributes.

    Attributes Default
    time-out delay between retries 10s
    channel-delay delay between grabbing of subsequent channels 0s
    index-delay delay between grabbing of index pages 0s
    show-delay delay between grabbing of detail show pages 0s


    remove shows that are longer then 5 hours and shorter then 1 minute

    With this setting you can filter out erratic or unwanted show info. When a show takes too long, it could be some tellsell program. If a show is to short, it could be an announcement and not a real show.

    Element values
    H,m H: max. number of hours a show can be before it is skipped
    m: min. number of minutes a show should be before it is skipped
    "noskip": disable any skipping.



    The timespan for which shows will be grabbed.
    It takes one or two values separated by a comma or a space. The first is the number of days (including today) to download, note that 0 is today. The second (optional) is a time specified between 0:00 and 24:00 which will reduce the download to only the one show (per day) which is scheduled around the specified time. Any value between start time (including) and stop time will do. This -one-show-only mode is helpfull if a SiteIni file needs to be debugged.


    Force License Update:

    Insert the line with required fields in WebGrab++.config.xml
    As the license line is added to Webgrab++.config.xml, the program creates WGLicense.log.txt that indicates the modes and benefits for the users. Email=is the email used to register on the forum. Password is available in user profile (see license pass code). Note: NO other email can be used other then the one used to register on the Webgrabplus Forum. ATTENTION: If license change (unregistred_user to donator) IS necessary to force the update, then remove "f" to avoid un-necessary check requests.



    Insert the line with siteini name and key value
    Siteini encrypted with key are posted with EK exstension (Encrypted-Key). Keys are usually availbale in donators area or can be requested to Authors/Team members. Once the key is added to Webgrab++.config.xml it will be automatically run as a normal siteini, just keeping methods encrypted. For siteini E (Encrypted only) no decryptkey is required


    All info will be updated. Even if the channel attribute 'update' defines another behaviour (eg. incremental)

    This setting will change the global update behaviour.

    Element value
    short long  
    c channel list generate a new channel list (option available from wg++ 2.1.7 or above).
    Siteini must contain only one block ** @auto_xml_channel_start > *@auto_xml_channel_end.
    List is generated for all "site="xxxx" elements contained in config.
    For siteini that require more steps just enable (removing * from lines) between channel start/end blocks
    i incremental only updates of changes , gabs, repairs and new shows
    l light forces update of today and new shows, rest as incremental
    s smart forces update of today and tomorrow and new shows, rest as light
    f full forces full update
    f force forces full update
        (the update element)
    when left empty in the update element, no global update behaviour is set. So evey channels uses its own update value.

    (the channel attribute)
    when the update attribute of a channel element is left emtpy, this channel will not be updated. But it will still be present in the output file.



    This is the most important setting element. It indicates what TV channel you want to grab. You can define multiple lines of this element in the configuration file. One line for each TV channel you want in your EPG listing. For almost every site, there is a youre_site.channels.xml file available. That file is only as a reference, and is not used by WG++ directly. Just find your channel line in there and copy it to the WebGrab++.config.xml file. Then you can adjust the attributes of that line to your needs. To generate your own youre_site.channels.xml file, see channels.xml.
    This element has several attributes.

    update   the specific update mode for this channel. For possible values see <update> above. This setting can be overruled if the above <update> element has been set.
    site (don't change!) the site file that will be used to grab the info (but without the .ini extention)
    site_id (don't change!) the id of the channel you want to grab.
    Be aware that all channels entered in the config file will be included in the xmltv listing even if no update is requested. This allows the update of individual channels without affecting the data of the others in the list. A channel not in this list will be removed from your xmltv listing together with all the accompanied show data. (If you use WebGrab+Plus with a xmltv input file from another source, it will remove all data from channels not in this list and create an entry for new channels)

    <channel Combi-Channels>


    Some providers combine several channels in one. Like, in a certain period of the day Channel A and for the rest of the day Channel B. Or, Channel A but moving to Channel B on certain events (like live Sports happening on Channel B)
    WebGrab+Plus supports the composition of the EPG for such channels by merging EPG data of different channels for certain periods of the day and by filtering for the events with a title filter.
    The setup for such channels is done in WebGrab++.config.xml, using the attributes 'period', 'include' and 'exclude'. One entry for each fragment. It is also possible to add a reference to the source channel of the fragment at the end of the description. This reference has the format (site_channel/site), like (SBS6/ For this to work one need to specify the attribute 'site_channel' in the channel entry. Without this attribute the reference will be just (site).
    The entries of the combi-channel fragments in the channel-list must be kept together (not mixed with other channel entries).
    The period specification cannot be negative. Suppose the desired periods are from 20:00-06:00 channel A and from 06:00-20:00 channel B. Because the first period is negatieve, it must be specified in three fractions:
    channel A period="00:00-06:00"
    channel B period="06:00-20:00"
    channel A period="20:00-24:00"
    WebGrab+Plus grabs and applies the attributes (period/exclude/include) of the Combi-Channel fragments in an incremental way.
    This makes that periods may overlap
    Consequently the order in which the fragments occur in the channel-list is important. The incremental update process is slightly different for combi-channels (compared to it for normal channels).
    Overlapping programs from the different fragments are 'truncated' on the period and title filter transitions.

    period only shows within the defined period will be saved. format HH:MM-HH:MM. Remark that the time must be after the first one
    exclude if this text is seen in a show title, this show is skipped
    include only if this text is seen in a show title, this show added

    <channel Timeoffset-Channels>

    Canal +
    Canal + 2

    Many sites list channels that differ only from another through a time difference. Instead of grabbing the epg separately it is possible to just copy and time shift the ‘source´ channel with a special channel specification.
    This way you speed-up the grabbing of channels.
    The source channel (here ="Canal +") must always be listed before the timeoffset-channel (here "Canal + 2") The offset can also be negative like offset="-1"

    same_as the value here, must be the xmltv_id of a previous channel
    offset the offset this channel wel have, with respect to the 'source' channel
    xmltv_id the xmltv_id of this channel


    Brought to you by Jan van Straaten

    Program Development - Jan van Straaten ------- Web design - Francis De Paemeleere
    Supported by: