当前位置: 首页 > 知识库问答 >
问题:

Scrapy响应不完整获取url如何

包翔
2023-03-14

我想通过连接到另一个url再次解析从解析中获得的值。我怎么修理它?

从scrapy导入蜘蛛从scrapy.selector导入选择器

从堆栈.items导入堆栈项

类StackSpider(Spider):name=“stack”allowed_domains=[“*”]global n#n=1997 start_url=['https://www.melon.com/chart/age/list.htm?chartType=YE

def parse(self, response):
    url = 'https://www.melon.com/song/detail.htm?songId='
    questions = Selector(response).xpath('//*[@id="frm"]/table/tbody/tr')
    for question in questions:
        item = StackItem()
        item['musicid'] = question.xpath('td/div/input/@value').extract()[0]
        item['title'] = question.xpath('td[4]/div/div/div/span/strong/a/@title').extract()
        item['artlist'] = question.xpath(
            'td[4]/div/div/div[2]/div[1]/a/text()').extract()
        item['album'] = question.xpath(
            'td[4]/div/div/div[2]/div[2]/a/text()').extract()
        item['sunwhi'] = question.xpath(
            'td[2]/div/span/text()').extract()[0]
        response_url=requests.get(url+musicid)
        def parse(self, response):
            questions = Selector(response).xpath('//*[@id="downloadfrm"]/div/div/div[2]/div[2]/dl/dd')
            for question in questions:
                 item = StackItem()
                 item['album'] = question.xpath('a/text()').extract()[0]
        yield item

共有1个答案

夏弘文
2023-03-14
class StackSpider(Spider):
    name = "stack"
    allowed_domains = ["*"]
    global n
    #n = 1997
    start_urls = ['https://www.melon.com/chart/age/list.htm?chartType=YE&chartGenre=KPOP&chartDate=2010',]

    def parse(self, response):
        url = 'https://www.melon.com/song/detail.htm?songId='
        questions = Selector(response).xpath('//*[@id="frm"]/table/tbody/tr')
        for question in questions:
            item = StackItem()
            item['musicid'] = question.xpath('td/div/input/@value').extract()[0]
            item['title'] = question.xpath('td[4]/div/div/div/span/strong/a/@title').extract()
            item['artlist'] = question.xpath(
                'td[4]/div/div/div[2]/div[1]/a/text()').extract()
            item['album'] = question.xpath(
                'td[4]/div/div/div[2]/div[2]/a/text()').extract()
            item['sunwhi'] = question.xpath(
                'td[2]/div/span/text()').extract()[0]
            response_url=requests.get(url+musicid)
            def parse(self, response):
                questions = Selector(response).xpath('//*[@id="downloadfrm"]/div/div/div[2]/div[2]/dl/dd')
                for question in questions:
                     item = StackItem()
                     item['album'] = question.xpath('a/text()').extract()[0]
            yield item
 类似资料:
  • 在过去的几天里做了一些阅读后,我已经取得了一些进展,下面是我想出的代码: 主要活动: HTTPRequest 没有错误,一切运行正常,但问题是-我已经建立了这个代码作为一个测试,如果我可以登录我试图登录的网站,但我无法从中获得任何信息。在我按下按钮后,似乎发生了什么事情,我发送到用户界面线程的输入流给了我这个:“java.io.BufferedInputStream@afe19b8”,每次按下按钮

  • 假设我的示例url是 http://example.com/one/two 我说我有以下路线 的值将为。 如何获取Express中的完整url?例如,在上面的情况下,我希望收到。

  • 问题内容: 我在andorid中制作了一些代理服务器来修改http标头,它可以正常工作,但是我必须将完整的响应转发到“顶层”。 如何从HttpURLConnection读取整个响应(所有标头,内容,所有内容)? 在getInputStream中,我仅收到内容,是否有可能包含某些内容? 问题答案: 无法直接使用来转储完整的HTTP响应,但是您可以使用其各种方法来重构它。例如, 版画 然后,您可以获取

  • 问题内容: 假设我的示例网址是 http://example.com/one/two 我说我有以下路线 值将是。 如何在Express中获取 完整的URL ?例如,在上述情况下,我想收到。 问题答案: 该协议可从下载。这里的文档 在express 3.0之前,除非您看到已设置并具有value 的协议,否则可以假定为该协议,在这种情况下,您知道这是您的协议 主机来自Gopal指示 希望您的URL中不

  • 问题内容: 这个问题的答案是 社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 我使用以下代码来获取完整的URL: 问题在于,我在自己的中使用了一些掩码,因此我们在URL中看到的并不总是文件的真实路径。 我需要的是获取URL,写在URL中的内容,仅此而已-完整的URL。 我需要了解它在Web浏览器的导航栏中的显示方式,而不是服务器上文件的真实路径。 问题答案: 看一下,即 请注意

  • 问题内容: 我可以选择该项目并在Webdriver上检索信息。但是我不知道如何将响应URL传递给crawlspider。 所以这就是我被困住的地方。我能够使用上面的代码进行查询。但是,如何将resp_for_scrapy传递给crawlspider?我把resp_for_scrapy代替了item,但这没用。 任何建议将不胜感激!!!! 编辑我包括一个中间件类,可从Spider类之前的下拉列表中进