当前位置: 首页 > 面试题库 >

如何在抓取中动态生成start_urls?

师增
2023-03-14
问题内容

我正在抓取一个可能包含很多的网站start_urls,例如:

http://www.a.com/list_1_2_3.htm

我想像start_urls一样填充[list_\d+_\d+_\d+\.htm],并像[node_\d+\.htm]在爬网期间那样从URL中提取项目。

我可以CrawlSpider用来实现此功能吗?以及如何start_urls在抓取过程中动态生成?


问题答案:

动态生成URL的最佳方法是重写Spider 的start_requests方法:

from scrapy.http.request import Request

def start_requests(self):
      with open('urls.txt', 'rb') as urls:
          for url in urls:
              yield Request(url, self.parse)


 类似资料:
  • 问题内容: 我正在尝试根据此文档http://wtforms.simplecodes.com/docs/1.0.2/specific_problems.html#dynamic-form-composition在WTForms中生成具有动态字段的表单 我有这个子窗体类,它允许用户从列表中选择要购买的物品: 购物商品将有多个类别,因此我想根据用户选择的类别生成一个动态选择字段: 但出现以下错误: 我

  • 问题内容: 我在数据库中有几条记录,它们想要形成如下URL: 该会从数据库中拉出。 有什么办法可以在flask中取出吗? 问题答案: 你可以将变量名放在views.py函数中。例如: 为了使数据库信息显示在你的站点上,你需要将参数传递到模板中。因此,在模板中,你将引用以下参数: 然后,当你访问mysite.com/post/anything_here时,“ anything_here”将进入你的函

  • 问题内容: [我想做的事] 刮擦下面的网页以获取二手车数据。 http://www.goo- net.com/php/search/summary.php?price_range=&pref_c=08,09,10,11,12,13,14&easysearch_flg=1 [问题] 刮整个页面。在上面的网址中,仅显示前30个项目。我可以在下面编写的代码中删除这些内容。指向其他页面的链接显示为1 2

  • 问题内容: 我正在尝试在MySQL中生成序列表,以便可以从获得唯一ID 。 问题是我需要动态地多个序列。 首先,我创建了一个表: 然后尝试使用http://dev.mysql.com/doc/refman/5.0/en/information- functions.html#function_last-insert- id中的 示例获取编号 一段时间后,我意识到我还需要安全地为新标签生成行。因此,

  • 你可以使用 setFetchMode() 在运行时定义动态关联抓取的语义。 List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "Fritz%") ) .setFetchMode("mate", FetchMode.EAGER) .setFetchMode("kittens",

  • 问题内容: 鼻子测试框架(适用于python)支持在运行时动态生成测试用例(以下为文档,从五个不同的测试用例中得出结果): 如何使用诸如mocha或qunit之类的javascript框架实现此结果?(目前我还没有加入任何特定的框架。) 我的用例是编写一个测试运行器,以监视外部服务器上的多个项目。我将提供资源URL列表。每个测试都会尝试轮询该资源,并根据发现的内容返回成功或失败。我有一个内置在py