A bunch of suckers

, 22 October 2017
A bunch of suckers
Hemiclepsis marginata © Graeme Lyons

By Graeme Lyons

Senior Ecologist

Recently I have carried out an aquatic invertebrate survey of Waltham Brooks nature reserve. I recorded seven species of leech there and have become quite taken with these bizarre animals. There are not that many leech species in the UK and they are not too hard to identify. So here are a few of my favourites and what they feed on.

This is Hemiclepsis marginata. It feeds on fish and this is the only one I have ever seen. It has a chequered margin to the body, is quite broad and has a large shovel shaped head and a big banded suction cup at the rear. Quite the looker.

When I used to do the electro-fishing for the RSPB, this is what I used to know as the fish leech Piscicola geometra (not knowing there was another species) regularly seeing it attached to fish. This is VERY thin and worm-like with a similar large head and suction cup.

Another one I had not encountered before. Glossiphonia heteroclita and this one feeds on molluscs. A different array of eyes to the following species.

And the darker Glossiphonia complanata which has different eye arrangement of a 2 x 3 matrix. This also feeds on molluscs but Elliot & Mann states they get their first meal from...other leeches! That dark internal structure on these two species is the crop!

This is the Duck Leech Theromyzon tessulatum. I think someone needs to tell it that's not a duck. Wait, it's not a duck right? Actually it feeds on water birds, usually entering the nostrils. It has been known to even kill ducklings.

This small leech has two eyes and a dot behind them called a 'callous dorsal scute' in Elliott & Mann. This is Helobdella stagnalis and feeds generally on aquatic invertebrates.

Leave a comment
Time Δ Debug Message - Perch Runway 3.2
1787551830.46260 [907] SELECT p.pagePath, pr.routePattern, pr.routeRegExp, p.pageTemplate, pr.routeOrder, s.settingValue AS siteOffline FROM swt_pages_staging p LEFT JOIN swt_page_routes pr ON p.pageID=pr.pageID LEFT JOIN swt_settings s ON s.settingID='siteOffline' UNION SELECT NULL AS pagePath, pr2.routePattern, pr2.routeRegExp, pr2.templatePath AS pageTemplate, pr2.routeOrder, NULL AS siteOffline FROM swt_page_routes pr2 WHERE templateID!=0 ORDER BY routeOrder ASC, pagePath ASC
1787551830.49640.0338Matched route: news/[slug:s]
1787551830.49650.0001Server address: 216.73.217.165
1787551830.49650Using master page: /templates/pages/blog/post.php
1787551830.49650Page arguments:
Array
(
    [0] => /news/a-bunch-of-suckers
    [s] => a-bunch-of-suckers
    [1] => a-bunch-of-suckers
)
1787551830.49680.0003 [1] SELECT * FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787551830.49780.001 [86] SELECT DISTINCT settingID, settingValue FROM swt_settings WHERE userID=0
1787551830.49980.002 [1] SELECT locationID FROM swt_shop_tax_locations WHERE locationIsHome=1 LIMIT 1
1787551830.50050.0008INSERT INTO swt_shop_cart(memberID,locationID,currencyID,cartPricing,cartProperties) VALUES(NULL,'1',47,'standard','[]')
1787551830.50520.0047 [1] SELECT * FROM swt_shop_cart WHERE cartID=24426050
1787551830.5060.0008 [1] SELECT * FROM swt_shop_cart WHERE cartID=24426050
1787551830.5070.001 [nil] SELECT * FROM swt_shop_sales WHERE saleFrom<='2026-08-24 06:10:00' AND saleTo>'2026-08-24 06:10:00' AND saleActive=1 AND saleDeleted IS NULL ORDER BY saleOrder ASC
1787551830.50850.0015 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='a-bunch-of-suckers')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-08-24 06:10:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 10
1787551830.51280.0044 [1] SELECT FOUND_ROWS() AS `count`
1787551830.51360.0007 [1] SELECT * FROM swt_blog_posts WHERE postID=1440 AND postStatus='Published' AND postDateTime<='2026-08-24 06:10:00'
1787551830.51480.0012 [13] SELECT * FROM swt_blog_sections ORDER BY sectionTitle ASC
1787551830.51570.001 [1] SELECT * FROM swt_blogs ORDER BY blogTitle ASC
1787551830.51650.0008 [1] SELECT * FROM swt_categories WHERE catID=64 LIMIT 1
1787551830.51710.0006 [1] SELECT * FROM swt_categories WHERE catID=105 LIMIT 1
1787551830.51780.0006Using template: /templates/blog/post.html
1787551830.5180.0002 [162] SELECT catID, catPath FROM swt_categories
1787551830.51920.0012 [1] SELECT * FROM swt_blog_posts WHERE postStatus='Published' AND postDateTime<='2026-08-24 06:10:00' AND postSlug='a-bunch-of-suckers'
1787551830.54880.0296Using template: /templates/blog/post.html
1787551830.54940.0005 [250] SELECT country, countryID FROM swt_shop_countries WHERE countryActive=1 ORDER BY country ASC
1787551830.55140.0021Using template: /templates/pages/attributes/seo.html
1787551830.55170.0003 [1] SELECT regionID, regionTemplate, regionPage, regionRev AS rev FROM swt_content_regions WHERE regionKey='Banner image' AND (regionPage='/news/post' OR regionPage='*')
1787551830.55290.0013 [nil] SELECT * FROM ( SELECT idx.itemID, c.regionID, idx.pageID, c.itemJSON, idx2.indexValue as sortval FROM swt_content_index idx JOIN swt_content_items c ON idx.itemID=c.itemID AND idx.itemRev=c.itemRev AND idx.regionID=c.regionID JOIN swt_content_index idx2 ON idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev AND idx2.indexKey='_order' WHERE ((idx.regionID=104 AND idx.itemRev=0)) AND idx.itemID=idx2.itemID AND idx.itemRev=idx2.itemRev ) as tbl GROUP BY itemID, pageID, itemJSON, sortval, regionID ORDER BY sortval ASC
1787551830.55480.0019 [82] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageDepth >=0 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787551830.55920.0044 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787551830.55990.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787551830.56280.0029Using template: /templates/navigation/ps_nav_template.html
1787551830.56290 [6] Using template: /templates/navigation/ps_nav_template_children.html
1787551830.56370.0008 [4] Using template: /templates/navigation/ps_nav_template_children.html
1787551830.56410.0004 [29] Using template: /templates/navigation/ps_nav_template_children.html
1787551830.56690.0028 [10] Using template: /templates/navigation/ps_nav_template_children.html
1787551830.56790.001 [7] Using template: /templates/navigation/ps_nav_template_children.html
1787551830.56850.0006 [9] Using template: /templates/navigation/ps_nav_template_children.html
1787551830.57120.0027 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' OR pageSortPath='/news/post' LIMIT 1
1787551830.57230.0011 [1] SELECT * FROM swt_pages_staging WHERE pageHidden=0 AND pageNew=0 AND pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition
1787551830.57580.0035 [1] Using template: /templates/navigation/breadcrumbs.html
1787551830.57630.0005Using template: /templates/blog/post.html
1787551830.57660.0003 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1787551830.57750.0009Using template: /templates/blog/author.html
1787551830.5780.0005 [1] SELECT SQL_CALC_FOUND_ROWS DISTINCT tbl.* FROM ( SELECT idx.itemID, main.*, idx2.indexValue as sortval FROM swt_blog_index idx JOIN swt_blog_posts main ON idx.itemID=main.postID AND idx.itemKey='postID' JOIN swt_blog_index idx2 ON idx.itemID=idx2.itemID AND idx.itemKey='postID' AND idx2.indexKey='_id' WHERE 1=1 AND ((idx.indexKey='postSlug' AND idx.indexValue='a-bunch-of-suckers')) AND idx.itemID=idx2.itemID AND idx.itemKey=idx2.itemKey GROUP BY idx.itemID, idx2.indexValue, postID ) as tbl WHERE (postStatus='Published' AND postDateTime<='2026-08-24 06:10:00' ) GROUP BY itemID, sortval ORDER BY sortval ASC LIMIT 0, 1
1787551830.58110.0031 [1] SELECT FOUND_ROWS() AS `count`
1787551830.58160.0005 [1] Using template: /templates/blog/post.html
1787551830.58390.0023Using template: /templates/blog/comment_form.html
1787551830.58490.001 [nil] SELECT * FROM swt_blog_comments WHERE 1=1 AND postID=1440 AND commentStatus='LIVE' ORDER BY FIELD(webmentionType, 'like', 'repost', 'comment', NULL) ASC, commentDateTime ASC
1787551830.66020.0752 [0] Using template: /templates/blog/comment.html
1787551830.66030.0002Using template: /templates/blog/post.html
1787551830.66050.0002 [1] SELECT * FROM swt_blog_authors WHERE authorID='1' LIMIT 1
1787551830.66170.0011 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/what-we-do' OR pageSortPath='/what-we-do' LIMIT 1
1787551830.66260.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-002' LIMIT 1
1787551830.66330.0008 [7] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-002%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787551830.66630.0029 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787551830.66690.0006 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787551830.66960.0027 [6] Using template: /templates/navigation/footer-nav.html
1787551830.6710.0013 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1787551830.67170.0007 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1787551830.67220.0005 [38] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' ORDER BY pageTreePosition ASC
1787551830.67550.0033 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787551830.67620.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787551830.67910.0028 [10] Using template: /templates/navigation/footer-nav.html
1787551830.68180.0027 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/visit' OR pageSortPath='/visit' LIMIT 1
1787551830.68280.001 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-004' LIMIT 1
1787551830.68360.0008 [30] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-004%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787551830.68680.0033 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787551830.68760.0007 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787551830.69040.0028 [29] Using template: /templates/navigation/footer-nav.html
1787551830.69280.0025 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pagePath='/make-a-difference' OR pageSortPath='/make-a-difference' LIMIT 1
1787551830.69380.0009 [1] SELECT pageID, pageParentID, pageDepth, pageTreePosition FROM swt_pages_staging WHERE pageTreePosition='000-005' LIMIT 1
1787551830.69450.0007 [11] SELECT * FROM swt_pages_staging WHERE pageNew=0 AND pageHidden=0 AND pageTreePosition LIKE '000-005%' AND pageDepth >=1 AND pageDepth<=2 ORDER BY pageTreePosition ASC
1787551830.69760.0031 [1] SELECT pageTreePosition FROM swt_pages_staging WHERE pagePath='/news/post' LIMIT 1
1787551830.69840.0008 [2] SELECT pageID FROM swt_pages_staging WHERE pageTreePosition IN ('000-006-001', '000-006', '000') ORDER BY pageTreePosition DESC
1787551830.70140.003 [10] Using template: /templates/navigation/footer-nav.html
1787551830.7030.0016Request time: 0.2428
1787551830.7030Process time: 0.2426
1787551830.7030Memory: 1.6499