我希望有人能够提供一些关于利用 scrapy python 框架创建实时包装器的可行性的见解。
为了澄清我在这种情况下对术语“包装器”的定义,让我描述一下我的情况……我希望使用 scrapy 编写一个解决方案的脚本,以允许用户在网站上执行搜索查询,而这又是会实时调用一个 scrapy 蜘蛛,其中该蜘蛛被告知:
- 登录到第 3 方写入
- 执行用户搜索查询
- 通过指定唯一的结果集容器类和/或 xpath 来提取生成的 html 内容,从而仅检索返回查询的实际 html 结果。
- 修改提取的 html 结果(通过改造 html 和/或注入(inject)新的页眉/页脚或 css 元素)。 5) 最后实时返回修改后的html结果,对用户透明,直接将html注入(inject)原域。
我应该指出,我熟悉为大规模批量爬行编写 scrapy 蜘蛛,但我不太熟悉能够使用它构建实时类型的“包装器”的前景或可行性。
如果有人有任何见解、建议或示例可以说明类似情况,我将不胜感激。中文
请您参考如下方法:
您可以在 http://htql.net/ 尝试 Python 的 HTQL 浏览器界面. Bing 实时搜索的一个例子是:
import htql;
a=htql.Browser();
b=a.goUrl("http://www.bing.com/");
c=a.goForm("<form>1", {"q":"test"});
for d in htql.HTQL(c[0], "<a (tx like '%test%')>"):
print(d);
e=a.click("<a (tx like '%test%' and not (href like '/search%'))>1");
它可以与 IRobotSoft scraper 结合使用,通过将浏览器更改为:
a=htql.Browser(2);
可以从本手册中找到更多详细信息http://htql.net/htql-python-manual.pdf或调用 http://irobotsoft.org/bb/ 询问
