函数get(“ href”)没有返回完整链接。 html文件中存在链接:
但是,函数link.get(“ href”)返回:
“ navhome.php?lightbox&dpxshig = / iprop_prod = 180-slim / tipo = fotolivro / width = 950 / height = 615 / control = true / tema = tema_02 / nome_tema = Q2wmYWFjdXRlO3NzaWNvIFByZXRV&cpmdsc = Z
sub_site =“ https://www.fotoregistro.com.br/navhome.php?vitrine-produto-slim”
响应= urllib.request.urlopen(sub_site)
数据= response.read()
汤= BeautifulSoup(data,'lxml') 在汤中的链接。find_all('a'):
import PerfectScrollbar from 'react-perfect-scrollbar';
import 'react-perfect-scrollbar/dist/css/styles.css';
<PerfectScrollbar>
<p> test 1 </p>
<p> test 2 </p>
</PerfectScrollbar>
答案 0 :(得分:0)
让我关注html中问题的特定部分:
<a class='warp_lightbox' title='Comprar' href='//www.fotoregistro.com.br/
navhome.php?lightbox&dpxshig=/iprop_prod=180-slim/tipo=fotolivro/width=950/height=615/control=true/tema=tema_02/nome_tema=Q2wmYWFjdXRlO3NzaWNvIFByZXRv&cpmdsc=MOZAO'><img src='
//sh.digipix.com.br/subhomes/_lojas_consumer/paginas/fotolivro/img/180slim/vitrine/classic_01_tb.jpg' alt='slim' />
</a>
您可以通过以下方式获得它:
for link in soup.find_all('a', {'class':'warp_lightbox'}):
url = link.get("href")
break
您发现url
是:
'//www.fotoregistro.com.br/\rnavhome.php?lightbox&dpxshig=/iprop_prod=180-slim/tipo=fotolivro/width=950/height=615/control=true/tema=tema_02/nome_tema=Q2wmYWFjdXRlO3NzaWNvIFByZXRv&cpmdsc=MOZAO'
您可以在字符串的开头看到两个重要的模式:
//
,这是保持当前协议的一种方式,请参见this; \r
,即ASCII回车(CR)。打印时,您只会丢失此部分:
//www.fotoregistro.com.br/\r
如果您需要原始字符串,则可以在for
循环中使用repr
:
print(repr(url))
您会得到:
//www.fotoregistro.com.br/\rnavhome.php?lightbox&dpxshig=/iprop_prod=180-slim/tipo=fotolivro/width=950/height=615/control=true/tema=tema_02/nome_tema=Q2wmYWFjdXRlO3NzaWNvIFByZXRv&cpmdsc=MOZAO
如果需要路径,可以替换初始部分:
base = 'www.fotoregistro.com.br/'
for link in soup.find_all('a', {'class':'warp_lightbox'}):
url = link.get("href").replace('//www.fotoregistro.com.br/\r',base)
print(url)
您会得到:
www.fotoregistro.com.br/navhome.php?lightbox&dpxshig=/iprop_prod=180-slim/tipo=fotolivro/width=950/height=615/control=true/tema=tema_02/nome_tema=Q2wmYWFjdXRlO3NzaWNvIFByZXRv&cpmdsc=MOZAO
www.fotoregistro.com.br/navhome.php?lightbox&dpxshig=/iprop_prod=180-slim/tipo=fotolivro/width=950/height=615/control=true/tema=tema_02/preview=true/nome_tema=Q2wmYWFjdXRlO3NzaWNvIFByZXRv&cpmdsc=MOZAO
.
.
.
不指定类别:
for link in soup.find_all('a'):
url = link.get("href")
print(repr(url))
答案 1 :(得分:0)
使用select并可以正常打印
node_modules
使用
package-lock.json
所有链接。