scrapy href в таблице

Мне трудно извлечь href из таблиц.

https://www.asantomediacao.pt/imoveis/

<table class="grid tarp tarpRow" cellpadding="0" cellspacing="0" border="0">
<colgroup>
   <col style="width:160px">
   <col style="">
   <col style="">
</colgroup>
<tbody>
   <tr>
      <td valign="top">
         <a href="/imovel/apt-t0-em-condominio-de-prestigio-no-estoril-cascais-re9966av/?rid=17928463" title="Apt T0 em condomínio de prestígio no Estoril | T0 | 1WC">
            <div class="thumbnailframe160">
               <img class="thumbnail" alt="Apt T0 em condomínio de prestígio no Estoril | T0 | 1WC" src="//images.egorealestate.com/Z320x240/S5/C3469/P20281659/Tphoto/ID3b793501-0000-0500-0000-00000d623ecc.jpg" onerror="this.onerror=null;this.src='/sys/plugins/_res/nopic.png'" border="0">
            </div>
         </a>
      </td>

Я старался:

response.xpath('//table[@class="grid tarp tarpRow"]/tbody/tr/td/a/@href').getall()

response.xpath('//table[@class="grid tarp tarpRow"]/tbody/tr[1]/td[2]/a/@href').get()

пожалуйста, помогите мне


person Eduardo Henrique Gomes    schedule 08.01.2021    source источник
comment
Примечание. valign и другие атрибуты устарели уже много лет.   -  person Rob    schedule 08.01.2021
comment
Где вы смотрели исходный код? tbody часто отображается в инструменте Inpect веб-браузеров, но часто в фактическом ответе его нет. Выберите «Просмотреть исходный код страницы» в своем браузере, чтобы получить доступ к фактическим источникам и узнать, как на самом деле выглядит HTML-код.   -  person Gallaecio    schedule 22.02.2021


Ответы (2)


Это должно сделать это:

response.xpath('//div[@class="tarpInfo"]/a/@href').getall()
person Dr Pi    schedule 08.01.2021
comment
не получилось Вышло[1]: [] - person Eduardo Henrique Gomes; 09.01.2021

Убедитесь, что вы получаете response.status 200 . не забудьте поместить URL в req.

In [24]: req =scrapy.Request(url, headers={"USER-AGENT" : "Mozilla/5.0 (X11; Linux x86_64) Apple
    ...: WebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 OPR/45.0.2552.888"
    ...: })

In [25]: fetch(req)
2021-01-11 14:42:23 [scrapy.core.engine] DEBUG: Crawled (200) <GET https://www.asantomediacao.pt/imoveis/> (referer: None)

In [26]: response.xpath('//table[@class="grid tarp tarpRow"]/tbody/tr/td/a')
Out[26]: 
[<Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/terreno-p-moradia-ca...'>,
 <Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/terreno-p-moradia-ca...'>,
 <Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/terreno-p-moradia-ca...'>,
 <Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/terreno-p-moradia-ca...'>,
 <Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/terreno-p-moradia-ca...'>,
 <Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/terreno-p-moradia-ca...'>,
 <Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/apartamento-t2-monte...'>,
 <Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/agradavel-apartament...'>,
 <Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/agradavel-apartament...'>,
 <Selector xpath='//table[@class="grid tarp tarpRow"]/tbody/tr/td/a' data='<a href="/imovel/apt-t0-em-condominio...'>]

In [27]: response.xpath('//table[@class="grid tarp tarpRow"]/tbody/tr/td/a/@href').extract()
Out[27]: 
['/imovel/terreno-p-moradia-cascais-re660db/?rid=6285812',
 '/imovel/terreno-p-moradia-cascais-re658db/?rid=6285795',
 '/imovel/terreno-p-moradia-cascais-re662db/?rid=6285792',
 '/imovel/terreno-p-moradia-cascais-re661db/?rid=6285791',
 '/imovel/terreno-p-moradia-cascais-re657db/?rid=6285794',
 '/imovel/terreno-p-moradia-cascais-re664db/?rid=6285810',
 '/imovel/apartamento-t2-monte-estoril-cascais-re9979db/?rid=17973182',
 '/imovel/agradavel-apartamento-t2-para-arrendar-mobilado-em-zona-nobre-de-cascais-cascais-re9969rf/?rid=17971852',
 '/imovel/agradavel-apartamento-t2-em-zona-nobre-de-cascais-cascais-re9980rf/?rid=17973166',
 '/imovel/apt-t0-em-condominio-de-prestigio-no-estoril-cascais-re9966av/?rid=17928463']
person Samsul Islam    schedule 11.01.2021