Open In App

Extract all the URLs from the webpage Using Python

Improve
Improve
Like Article
Like
Save
Share
Report

Scraping is a very essential skill for everyone to get data from any website. In this article, we are going to write Python scripts to extract all the URLs from the website or you can save it as a CSV file.

Module Needed:

  • bs4: Beautiful Soup(bs4) is a Python library for pulling data out of HTML and XML files. This module does not come built-in with Python. To install this type the below command in the terminal.
  • requests:  Requests allows you to send HTTP/1.1 requests extremely easily. This module also does not comes built-in with Python. To install this type the below command in the terminal.

Example 1:

Python3




import requests
from bs4 import BeautifulSoup
 
 
reqs = requests.get(url)
soup = BeautifulSoup(reqs.text, 'html.parser')
 
urls = []
for link in soup.find_all('a'):
    print(link.get('href'))


Output:

Extract all the URLs from the webpage

Explanation:

Here we are importing the beautifulsoup from bs4 to convert the document to it’s Unicode, and then further HTML entities are converted to Unicode characters. Then we just iterate through the list of all those links and print one by one. The reqs here is of response type i.e. we are fetching it as a response for the http request of our URL. We are then passing that string as one the parameter to the beautifulsoup and then finally iterating all the links found.

Example 2:

Python3




import requests
from bs4 import BeautifulSoup
 
grab = requests.get(urls)
soup = BeautifulSoup(grab.text, 'html.parser')
 
# opening a file in write mode
f = open("test1.txt", "w")
# traverse paragraphs from soup
for link in soup.find_all("a"):
   data = link.get('href')
   f.write(data)
   f.write("\n")
 
f.close()


Output:

Extract all the URLs from the webpage

Explanation:

Here we are importing the beautifulsoup from bs4 to convert the document to it’s Unicode, and then further HTML entities are converted to Unicode characters. Here we want to Extracting URLs and save as CSV files. sowe just iterate through the list of all those links and print one by one. The reqs here is of response type i.e. we are fetching it as a response for the http request of our url. We are then passing that string as one the parameter to the beautifulsoup and writing it into a file. And then finally reading the entire file.



Last Updated : 07 Sep, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads