現在、Pythonを学習しています。
Google検索APIで「東京都 会社概要」と検索し、検索結果の各webページのURLを取得し、
それらのURL先をスクレイピングして会社概要を取得しようと考えています。
当たり前のことですが、各webページのhtmlの書き方が異なっていて、tableタグだったり、liタグだったりで上手く求めている情報を抽出できません。
何かアイデアがあれば教えて頂きたいです。

# コード1.googleAPI検索し、結果をjsonファイルに出力
import json
import urllib.request
import urllib.parse
from urllib.request import urlopen
QUERY = u'会社概要+東京都'
key = 'KEY'
cx = 'CX'
NUM = 3
cseurl = 'https://www.googleapis.com/customsearch/v1?'
params = {
  'key': key,
  'q': QUERY,
  'cx': cx,
  'alt': 'json',
  'lr': 'lang_ja',
}
start = 1
f = open('result/GoogleResult.json', 'w')

for i in range(0, NUM):
  params['start'] = start
  req_url = cseurl + urllib.parse.urlencode(params)
  search_response = urllib.request.urlopen(req_url)
  search_results = search_response.read().decode("utf8")
  dump = json.loads(search_results)
  f.write(json.dumps(dump) + "\n")
  start = int(dump['queries']['nextPage'][0]['startIndex'])
f.close()


# コード2.google検索結果のjsonファイルからURL抽出
import re
read_file = open('result/GoogleResult.json', 'r')
resultFileData = read_file.read().replace(',', '\n')
read_file.close()
# URL抽出するための正規表現パターン
pattern = re.compile(r'"link":\s"http.+"')
link_urls = pattern.findall(resultFileData)
write_file = open('result/UrlList.txt', 'w')
for link_url in link_urls:
  geturl = link_url.replace("\"link\": \"", "").replace("\"", "")
  write_file.write(geturl + '\n')
write_file.close()

# コード3.取得したURL先のtableタグを情報を取得
import csv
from bs4 import BeautifulSoup
urlfile = open('result/UrlList.txt', 'r')
urlrows = urlfile.readlines()
urlfile.close()

csvFile = open("result/url_file.csv", 'wt', newline='', encoding='utf-8')
for urlrow in urlrows:
  html = urlopen(urlrow)
  bsObj = BeautifulSoup(html)
  tables = bsObj.findAll("table")
  writer = csv.writer(csvFile)
  for table in tables:
    rows = table.findAll("tr")
    for row in rows:
      csvRow = []
      for cell in row.findAll(['td', 'th']):
        csvRow.append(cell.get_text())
        if len(csvRow) == 2:
          writer.writerow(csvRow)
  writer.writerow("--------")
csvFile.close()

現在は、上記の3つのコードを順に実行していて、2つ目のURLを取得するところまでは何とかなりました。
3つ目のコードはとりあえずtableタグの情報を持ってきている状態です。
以上、よろしくお願いします。