when I try to run the code below this error was returned. I'd be much appreciated if someone can help to point out where I did wrong. Thank you.
Traceback (most recent call last):
File "web_crawler.py", line 26, in <module>
links = get_all_links(page)
File "web_crawler.py", line 14, in get_all_links
url, endpos = get_next_target(page)
File "web_crawler.py", line 2, in get_next_target
start_link = page.find("<a href=")
TypeError: a bytes-like object is required, not 'str'
def get_next_target(page):
start_link = page.find("<a href=")
if start_link == -1:
return None, 0
start_quote = page.find('"',start_link)
end_quote = page.find('"',start_quote+1)
url = page[start_quote+1:end_quote]
print(url)
return url, end_quote
def get_all_links(page):
links = []
while True:
url, endpos = get_next_target(page)
if url:
links.append(url)
page = page[endpos:]
else:
break
return links
import requests
url='https://en.wikipedia.org/wiki/Moon'
r = requests.get(url)
page = r.content
links = get_all_links(page)
r.contentandr.text(whenris a response object returned fromrequests.get), see the documentation of requests