我是python的新手,我正在研究使用scrapy来刮取页面上的特定元素。你知道吗
我需要取会员页面上列出的姓名和电话号码。你知道吗
这个脚本将获取整个页面,我可以添加/更改什么来只获取那些特定的元素?你知道吗
import scrapy
class DmozSpider(scrapy.Spider):
name = "dmoz"
allowed_domains = ["fali.org"]
start_urls = [
"http://www.fali.org/members/",
]
def parse(self, response):
filename = response.url.split("/?id=")[-2] + '%random%'
with open(filename, 'wb') as f:
f.write(response.body)
shark3y声明in his answer,
start_url
会被重定向到主页面。你知道吗如果您阅读了文档,您应该知道Scrapy是从
start_url
开始刮的,它不知道您想要实现什么。你知道吗在您的例子中,您需要从
http://www.fali.org/search/newsearch.asp
开始,它返回所有成员的搜索结果。现在您可以设置一个Rule
来遍历结果列表,并为找到的每个成员调用一个parse_detail
方法,并通过结果分页跟踪链接。你知道吗在
parse_detail
方法中,您可以遍历成员的站点并提取所需的所有信息。我猜你不需要整个网站,因为它会在你的计算机上生成大量数据,最后你必须解析它。你知道吗我看不到页面: http://www.fali.org/members/
相反,它会重定向到主页。你知道吗
这使得无法给出具体细节。你知道吗
举个例子:
从他们的研究中解析出“佛罗里达持照调查者协会(FALI)”主页。你呢可以获得浏览器插件来帮助您了解XPath。chrome上的XPath助手使它变得简单。你知道吗
也就是说,浏览上面发布的教程。因为你会有更多的问题,我敢肯定,像这样宽泛的问题在堆栈溢出上不会被很好地接受。你知道吗
相关问题 更多 >
编程相关推荐