You can use Webgrab++
I added hts (TVH user) to the sudoers (I don't know if it is really a good idea but it makes some things easier)
IMPORTANT sudo VISUDO !!!
# User privilege specification
root ALL=(ALL:ALL) ALL
hts ALL=(ALL:ALL) ALL
if you type
sudo passwd -S hts
you will get something like
hts L 12/09/2017 0 99999 7 -1 ; L means locked password
so give hts a new password:
sudo passwd hts
log on as hts
Download webgrab++
wget webgrabplus.com/sites/default/files/download/SW/V2.1.0/WebGrabPlus_V2.1_install.tar.gz
unpack
tar -zxvf WebGrabPlus_V2.1_install.tar.gz
install
./wg++/install.sh
Rename ini pack and update
mv .wg++/siteini.pack.update .wg++/siteini.pack
configure WebGrab++.config.example.xml
nano .wg++/WebGrab++.config.example.xml
pick your channels from one of the channels.xml /.wg++/siteini.pack/Germany/m.tvtoday.de.channels.xml and place them in place of dummy entries
(some work - others don't)
save as .wg++/WebGrab++.config.xml
run Webgrab
./.wg++/run.sh
From http://webgrabplus.com/documentation/interact-your-pvr-software/tvheadend
2. Make the WG++ run script run automaticly with a cronjob (eg. every day at 2:15)
run
crontab -e
then add next line to that file
15 2 * ~/.wg++/run.sh
3. Download the tv_grab file for wg++ and save it as /usr/bin/tv_grab_wg++
sudo wget -O /usr/bin/tv_grab_wg++ http://www.webgrabplus.com/sites/default/files/tv_grab_wg.txt
4. Make the file executable
sudo chmod +x /usr/bin/tv_grab_wg++
5. Run the grabber to check if it is working. You should see xmltv data during the run. Be sure that WG++ has already successfully grabbed EPG data.
/usr/bin/tv_grab_wg++
6. Restart Tvheadend to view and select the new internal grabber: "XMLTV: tv_grab_wg++"