Home > Blockchain >  Why this code not working on Vscode (Python code)
Why this code not working on Vscode (Python code)

Time:10-23

I used this code in Vs code:

import requests

from bs4 import BeautifulSoup

url = "https://www.gov.uk/search/news-and-communications"

reponse = requests.get(url)

page = reponse.content

soup = BeautifulSoup(page, "html.parser")

class_name= "gem-c-document-list__item-link"

titres = soup.find_all("a", class_=class_name)

titres_textes=[]

for titre in titres:

    titres_textes.append(titre.string)
    
titres_textes   

But when I try to run it with Ctrl Alt N nothing happens ,why ?

python versions>3.10
extensions python on Vscode> Python ok,Django ok,Magic-python ok,code runner,python for vscode ok
pip> Latest versions currently installed

CodePudding user response:

Use print and maintain proper code readability.

import requests
from bs4 import BeautifulSoup

url = "https://www.gov.uk/search/news-and-communications"

reponse = requests.get(url)
page = reponse.content
soup = BeautifulSoup(page, "html.parser")

class_name= "gem-c-document-list__item-link"
titres = soup.find_all("a", class_=class_name)

titres_textes=[]
for titre in titres:
    titres_textes.append(titre.string)
print(titres_textes)

Try running your code from VS Code terminal. Go to the path first then type the command: python filename.py

CodePudding user response:

Agree with BrutusForcus, It is just because the HTML page has been changed. You can change the value of class_name to something others, and remove the string after titre to make it work.

Such as this:

import requests

from bs4 import BeautifulSoup

url = "https://www.gov.uk/search/news-and-communications"

reponse = requests.get(url)

page = reponse.content

soup = BeautifulSoup(page, "html.parser")

class_name = "gem-c-document-list__item-metadata"

titres = soup.find_all("ul", class_=class_name)

titres_textes = []

for titre in titres:

    titres_textes.append(titre)

print(titres_textes)
  • Related