[英]Extract links from a webpage and create a dictionary Python
編寫一個函數來打開網頁,並返回該頁面上所有鏈接及其文本的字典。 鏈接是字典鍵,文本是字典值。
到目前為止,這就是我所擁有的。
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'
我該如何解決?
您不能檢查string
和byte
之間的限制,它必須是byte
和byte
或string
和string
。
由於您的網頁是作為byte
對象返回的。 你應該做:
if b'<a href=' in line:
pass # your code here
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.