I want to crawl all blog sites for specific fields. For eg. title, description, tags, date, author etc. I am using scrapy library build in python.

Now for each site html is going to be different. I won't always get title in h1 tag. Every blog site has different format. I do not have fixed number of sites that I want to crawl. Also I do not want to change code every time when I want to scrape new site.

What best practices / design patterns I should follow to make sure I end up in less problems / challenges. I can use Factory pattern which end up in a different class for each site. I don't want to do that as it again requires developer involvement. 

I am looking for solution which can reduce human involvement.