首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >抓取-在抓取和随机更改用户代理时访问数据

抓取-在抓取和随机更改用户代理时访问数据
EN

Stack Overflow用户
提问于 2015-12-02 19:12:13
回答 1查看 513关注 0票数 0

当抓取在爬行时,是否可以访问数据?我有一个脚本,它找到一个特定的关键字,并在.csv中写入关键字以及找到它的链接。但是,我必须等待抓取完成爬行,当完成时,它将实际输出.csv文件中的数据。

我也试图随机改变我的用户代理,但它不起作用。如果不允许我在一个问题中回答两个问题,我将把它作为一个单独的问题发布。

代码语言:javascript
代码运行次数:0
运行
复制
#!/usr/bin/env python
# -*- coding: utf-8 -*- 
from scrapy.spiders import Spider
from scrapy import log
from FinalSpider.items import Page
from FinalSpider.settings import USER_AGENT_LIST
from FinalSpider.settings import DOWNLOADER_MIDDLEWARES

import random
import telnetlib
import time
 
 
class FinalSpider(Spider):
    name = "FinalSpider"
    allowed_domains = ['url.com']
    start_urls = ['url.com=%d' %(n)
              for n in xrange(62L, 62L)]


    def parse(self, response):
        item = Page()

        item['URL'] = response.url
        item['Stake'] = ''.join(response.xpath('//div[@class="class"]//span[@class="class" or @class="class"]/text()').extract())
        if item['cur'] in [u'50,00', u'100,00']:
            return item

# 30% useragent change
class RandomUserAgentMiddleware(object):
    def process_request(self, request, spider):
        if random.choice(xrange(1,100)) <= 30:
            log.msg('Changing UserAgent')
            ua  = random.choice(USER_AGENT_LIST)
            if ua:
                request.headers.setdefault('User-Agent', ua)
            log.msg('>>>> UserAgent changed')

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-02 20:31:28

您不必将收集到的项(又名“数据”)输出到csv文件中,您只能使用以下命令运行scrapy:

代码语言:javascript
代码运行次数:0
运行
复制
scrapy crawl myspider

这将是将日志输出到终端,但是为了将项目仅存储到csv文件中,我假设您正在执行如下操作:

代码语言:javascript
代码运行次数:0
运行
复制
scrapy crawl myspider -o items.csv

现在,如果您想存储日志和项目,我建议您将其放入您的settings.py文件中:

代码语言:javascript
代码运行次数:0
运行
复制
LOG_FILE = "logfile.log"

现在,当蜘蛛运行时,您可以看到一些东西,只需检查该文件。

对于随机用户代理的问题,请检查如何激活稀薄的中间件

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34051037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档