【发布时间】:2022-01-18 09:57:27
【问题描述】:
我有这个代码来抓取不同网站的所有部分,这些部分的部分 web 带有“transparencia”这个词。
但是,我不知道为什么当代码打印所有带有单词过滤器的 url 时,它会重复 n 次。而我只需要其中一个。
输入
from bs4 import BeautifulSoup
import lxml
import pandas as pd
from tqdm import tqdm_notebook
import requests
listUrl = ["http://agricultura.gencat.cat","http://cultura.gencat.cat",
"https://dretssocials.gencat.cat","http://economia.gencat.cat",
"https://educacio.gencat.cat","http://empresa.gencat.cat",
"http://interior.gencat.cat","http://justicia.gencat.cat",
"https://presidencia.gencat.cat","https://salutweb.gencat.cat",
"https://politiquesdigitals.gencat.cat","https://territori.gencat.cat"]
herfList=[]
codiNum = 0
keyWord = "transparencia"
def parse_url(url):
response = requests.get(url)
content = response.content
parsed_response = BeautifulSoup(content, "lxml")
return parsed_response
def extract_post_data (url):
soup_url = parse_url(url)
try:
herf_transparencia = soup_url.find_all('a', href =True)
except:
herf_transparencia = ""
dadesUrlDic= {"herf transparencia": herf_transparencia}
return dadesUrlDic
for url in listUrl:
soup = parse_url(url)
referenceHref = soup.find_all(class_= "NG-megamenu__nav-link-self", href= True)
for href in referenceHref:
if href.text:
herfList.append(href['href'])
for i in herfList:
if keyWord.lower() in i.lower():
urlWithKeyWord = url + i
print(urlWithKeyWord)
输出
例如,在此输出中,带有 world “transparencia” 的 url 会在每个网页部分重复并增加。但是当没有更多的网页部分时,代码会继续打印更多带有所有 url 的行。
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/normativa-organitzacio/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/normativa-organitzacio/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/normativa-organitzacio/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/normativa-organitzacio/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/normativa-organitzacio/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/gestio-serveis-publics/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/normativa-organitzacio/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/normativa-organitzacio/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/gestio-serveis-publics/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/gestio-serveis-publics/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/normativa-organitzacio/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/normativa-organitzacio/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/gestio-serveis-publics/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/gestio-serveis-publics/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/funcio-publica/
http://agricultura.gencat.cat/ca/departament/transparencia-i-bon-govern/
【问题讨论】:
标签: python loops web-scraping iteration repeat