【发布时间】:2016-04-28 07:50:27
【问题描述】:
所以我是 Scrapy 的新手,我想做一些被证明有点过于雄心勃勃的事情。我希望有人可以帮助指导我如何收集和解析我从这个网站获得的信息。
我需要获得以下信息: 标签1 4810(这是动态生成的) 企业名称 姓名 地址1 地址2 地址3 地址4 邮政编码 0800 111111 我@domain.com
这甚至可以使用scrapy吗?
非常感谢。
<div class="mbg">
<a href="http://www.domain.com" aria-label="label1"> <span class="nw1">Label13345</span>
</a>
<span class="mbg-l">
<a href="http://www.domain.com/1" title="FBS">4810</a>
<img
alt="4810"
title="4810"
src="http://www.domain.com/image1"></span>
</div>
<div id="bsi-c" class=" bsi-c-uk-bislr">
<div class="bsi-cnt">
<div class="bsi-ttl section-ttl">
<h2>Info</h2>
<div class="rd-sep"></div>
</div>
<div class="bsi-bn">Business name</div>
<div class="bsi-cic">
<div id="bsi-ec" class="u-flL">
<span class="bsi-arw"><a href="javascript:;"></a></span>
<span class="bsi-cdt"><a href="javascript:;">Contact details</a></span>
</div>
<div id="e8" class="u-flL bsi-ci">
<div class="bsi-c1">
<div>Name</div>
<div>Address1</div>
<div>Address2</div>
<div>Address3</div>
<div>Address4</div>
<div>Postcode</div>
</div>
<div class="bsi-c2">
<br></br>
<div>
<span class="bsi-lbl">Phone:</span>
<span>0800 111111</span>
</div>
<div>
<span class="bsi-lbl">Email:</span>
<span>me@domain.com</span>
</div>
</div>
</div>
</div>
【问题讨论】:
-
当然可以,但是您必须完成需要完成的请求(因为所有信息都来自请求),但为了帮助您,您必须分享您要抓取的网站。另一种解决方案是使用 selenium 来模拟浏览器。
-
你想只用于解析scrapy还是可以考虑其他选项,例如lxml?
-
啊,这可能是个问题 - 它是内部 Intranet 系统的一部分。基本上我是通信团队的一员,我们维护一个单独的联系人列表,但需要以某种方式检查信息和交叉引用。有了数据,我们必须确保它匹配并且是最新的。我想我已经咬得比我能咀嚼的多一点。
-
我没有考虑过 LXML。你认为这会是一个更好的选择吗?我应该解释它有很多页面,所以我会查看Http://www.intranet/oursites/siteaddress1、http.intranet/oursites/siteaddress2 等...
-
我认为 lxml 作为 html 的解析器最好。与 cssselect 一起与 DOM 一起工作得很好。我想提议为您的任务写响应示例?
标签: python html scrapy scrapy-spider