使用循环在“start_url”函数中输入值从cs输入值

2024-04-26 04:29:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我基本上有一个标题列表可以在一个网站上搜索,它存储在 csv。在

我提取这些值,然后尝试将它们添加到start_urls函数中的搜索链接。在

但是,当我运行脚本时,它只接受列表的最后一个值。 有什么特别的原因吗?在

class MySpider(CrawlSpider):
      name = "test"
      allowed_domains = ["example.com"]
      import pandas as pd
      df = pd.read_csv('test.csv')
      saved_column = df.ProductName
      for a in saved_column:
        start_urls = ["http://www.example.com/search?noOfResults=20&keyword="+str(a)"]

      def parse(self,response):

Tags: csv函数testcom标题df列表网站
1条回答
网友
1楼 · 发布于 2024-04-26 04:29:41

代码中存在概念错误。您正在进行循环,但除了旋转URL之外没有任何操作。所以parse函数是用循环的最后一个值来调用的。在

另一种可能的方法是重写spider的“start_requests”方法:

def start_requests(self):
    df = pd.read_csv('test.csv')
    saved_column = df.ProductName
    for url in saved_column:
        yield Request(url, self.parse)

从这里得到的想法:How to generate the start_urls dynamically in crawling?

相关问题 更多 >