从网页中提取链接并创建字典Python

时间:2016-06-03 22:29:21

标签: python http url

编写一个打开网页的函数,并返回该页面上所有链接及其文本的字典。链接是字典键,文本是字典值。

这是我到目前为止所拥有的。

import urllib.request as urlrequest
def getLinks(url):

   page=urlrequest.urlopen(url)

   lines = page.readlines()


   url_list={}
   for line in lines:
      if '<a href=' in line:
          removeHref=line[8:]
          end=removeHref.find('>')
          url=removeHref[0:end]
          removeHref=removeHref[end+1:]
          print (url)
          end2=removeHref.find('<')
          text=removeHref[0:end2]
          print ('%s \n' % text)
          url_list[url] = text



url = input("URL: ")
getLinks(url)

但是当我输入一个链接并运行它时,它会给我以下错误:

 if '<a href=' in line:
 TypeError: a bytes-like object is required, not 'str'

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您无法检查stringbyte之间的遏制,它必须是bytebytestring和{{ 1}}。

由于您的网页已作为string对象返回。你应该这样做:

byte