我正在为一个网页构建一个爬虫,该网页出于某种原因决定在元标记中保存我正在提取的项目的 ID 号
<meta content="1001662613">
其中引号中的数字是我想要的数字。
我尝试使用 xpath
Id = title.select('//meta [@content]').extract()
但是结果是空的。使用
Id = title.select('//meta/@content').extract()
然后在元标记之后给我整个页面的源代码...
有没有办法从标签 itelf 中提取数字,而不是尝试进入标签(空标签)?
作为引用,这里是页面源代码所在部分的示例
<link rel="stylesheet" type="text/css" href="/ccss/2076d1c6bea75c5b6f4c753b3b4920b6_14bfe2d5b91d791bc05282634acdfb68.css" />
<script type="text/javascript" src="/cjs/986570aebf4e6cef6e0a52faa9c5a8a2_f4ceae6565fa007f39ee4e0abe02ab7b.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<script type="text/javascript" src="/cjs/a373b58f85b5e68c60f3edc35b348e14_a2abaa7837c3e1ccda94d6fe6b0f7a8f.js"></script>
<meta content="1001657519"/>
<link href="http://www.groupon.com.uy/descuentos/montevideo/sushi-go-26-12-7" rel="canonical" />
<link href="http://www.groupon.com.uy/deals/feed.rss" type="application/rss+xml" rel="alternate" title="Groupon - Descuentos" />
<meta name="title" content="Desde $264 en vez de $462 por 24, 48 o 72 piezas de sushi en Sushi Go"/>
最佳答案
//meta/@content
由于页面上有多个 meta
标记而返回多个结果。只过滤包含数字的那个:
ids = title.select('//meta/@content').extract()
print [id for id in ids if id.isdigit()]
希望有帮助。
关于python - Scrapy:从元标记中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22363078/