Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >抓取-在抓取和随机更改用户代理时访问数据

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/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 12:31:28

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

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

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

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

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

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

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

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

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

https://stackoverflow.com/questions/34051037

复制
相关文章
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取
在网络数据抓取的过程中,有时需要处理那些通过JavaScript动态加载的内容。本文将介绍如何使用Scrapy-Selenium库来实现在网页中多次滚动并抓取数据,以满足对动态内容的抓取需求。
jackcode
2023/08/16
1.1K1
动态内容抓取指南:使用Scrapy-Selenium和代理实现滚动抓取
Python抓取数据_python抓取游戏数据
本文整理自慕课网《Python开发简单爬虫》,将会记录爬取百度百科“python”词条相关页面的整个过程。
全栈程序员站长
2022/09/20
2K0
python: 抓取免费代理ip
通过抓取西刺网免费代理ip实现代理爬虫: from bs4 import BeautifulSoup import requests import random import telnetlib requests = requests.session() ip_list = [] proxy_list = [] headers = [ 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0',
py3study
2020/01/06
1.3K0
【B 站视频教程】抓取用户微博和批量抓取评论
目前公众号平台改变了推送机制,点“赞”、点“在看”、添加过“星标”的同学,都会优先接收到我的文章推送,所以大家读完文章后,记得点一下“在看”和“赞”。
月小水长
2021/10/26
8060
数据抓取练习
代码放在Github上了。https://github.com/lpe234/meizi_spider
lpe234
2020/07/27
1.1K0
PHP登入网站抓取并且抓取数据
有时候需要登入网站,然后去抓取一些有用的信息,人工做的话,太累了。有的人可以很快的做到登入,但是需要在登入后再去访问其他页面始终都访问不了,因为他们没有带Cookie进去而被当做是两次会话。下面看看代码
超级小可爱
2023/02/20
1.7K0
Phantomjs+Nodejs+Mysql数据抓取(1.数据抓取)
概要: 这篇博文主要讲一下如何使用Phantomjs进行数据抓取,这里面抓的网站是太平洋电脑网估价的内容。主要是对电脑笔记本以及他们的属性进行抓取,然后在使用nodejs进行下载图片和插入数据库操作。 先进行所有页面的内容进行抓取 var page =require('webpage').create(); var address='http://product.pconline.com.cn/server/'; var fs = require('fs'); var mypath = 'version
九灵
2018/03/09
1.5K0
​Python爬虫学习之代理IP抓取
Python爬虫学习之代理IP抓取 ✕ 代理是个好东西!今天使用xpath来清理数据 运行效果: # 主要用到的包 import requestsfrom lxml import etree im
萌海无涯
2019/08/06
5900
Python通过代理多线程抓取图片
前言 Python作为一门功能强大的脚本语言,经常被用来写爬虫程序,下面是Python通过代理多线程抓取图片代码
全栈程序员站长
2022/08/04
2780
用Python爬虫抓取免费代理IP
-- Illustrations by Ash Thorp & Maciej Kuciara --
Python中文社区
2018/07/27
3.3K0
用Python爬虫抓取免费代理IP
抓取淘宝美食数据
3.得到当前搜索结果商品的:price(价格),location(销售地),shop(商店名称),image(图片),title(商品名称),product_link商品连接
用户2337871
2019/07/19
7590
抓取淘宝美食数据
Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)
概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868880 后进行的第二部分,请各位读者在看这篇博客之前先浏览上一篇,因为这里面有部分代码会沿用到上一部分的抓取结果。  好,现在开始正式的抓取图片的讲解  首先,我们先来看看代码: var page =require('webpage').create(); var address='http://prod
九灵
2018/03/09
9880
Fiddler、Charles抓取数据
现在的移动应用程序几乎都会和网络打交道,所以在分析一个 app 的时候,如果可以抓取出其发出的数据包,将对分析程序的流程和逻辑有极大的帮助。对于HTTP包来说,已经有很多种分析的方法了,但是现在越来越多的应用已经使用HTTPS协议来和服务器端交换数据了,这无疑给抓包分析增加了难度。可是 Windows系统下的 Fiddler 可以用来解决这个问题。
chenchenchen
2022/11/29
1.1K0
Fiddler、Charles抓取数据
用Python多线程抓取并验证代理
最后,为了提高效率,最好是使用多线程。(PS,有个地方要注意,urlopen这个函数,设定了一个全局对象opener,所以如果你使用了多个线程, 每个线程使用一个代理,那么,不能使用urlopen这个函数,而应该使用opener.open)
艳艳代码杂货店
2021/11/01
4700
Scrapy递归抓取简书用户信息
好久没有录制实战教程视频,大邓就在圣诞节后直接上干货。 之前写过一期【视频教程-用python批量抓取简书用户信息】的文章,是自己造的轮子,今天我趁着刚入门scrapy和xpath,操刀重写这个任务。 一、实战项目简介递归 我们要大批量获取简书网站上的用户数据,最直接的办法是给一个初识的用户url,从这个用户的关注的和粉丝中再抽取url,循环往复,周而复始。这其实就是递归。 数据项 获取到的url,我们需要对其进行请求,解析出想要的数据 昵称-nickname 关注数-followed 粉丝数- fol
企鹅号小编
2018/01/26
1.4K0
​Python爬虫学习之代理IP抓取(2)
✕ 代理数据保存清洗 运行效果: 然后我的IP就给封了 代理测试 代码没问题。。。 不过短短几分钟抓了6000条代理,也算是不错了 需要下载的模块 pip install tinydb #
萌海无涯
2019/08/08
5020
​Python爬虫学习之代理IP抓取(2)
Python使用Tor作为代理进行网页抓取
在网络抓取的过程中,我们经常会遇见很多网站采取了防爬取技术,或者说因为自己采集网站信息的强度和采集速度太大,给对方服务器带去了太多的压力,所以你一直用同一个代理IP爬取这个网页,很有可能IP会被禁止访问网页,所以基本上做爬虫的都躲不过去IP的问题,需要很多的IP来实现自己IP地址的不停切换,达到正常抓取信息的目的。
终身幼稚园
2020/05/18
7.2K0
web爬虫-用RoboBrowser登录和抓取数据
RoboBrowser是一个简单的Python库,用于在没有独立Web浏览器的情况下浏览Web。RoboBrowser可以获取页面,单击链接和按钮,然后填写并提交表单。如果您需要与没有API的Web服务进行交互,RoboBrowser可以提供很好的帮助。
XXXX-user
2019/07/23
2.8K0
吃饱了么! 数据抓取
抓取思路 结果: 最终实现通过经纬度、商家、关键字等抓取数据 1. 使用charles进行抓包 2. Chrom调试 3. 找出商品请求api 4. 破解sign 和 其它请求参数 5. 使用代码请求单个api是否成功 6. 使用queue进行商店, 分类, 商品系统化抓取 7. 使用协程并发抓取 8. 数据清理, 存储到mongo 项目目录 . ├── conf │ ├── AuthConfig.py │ ├── __pycache__ │ │ └── AuthConfig.cpython
不止于python
2022/05/31
4340
吃饱了么! 数据抓取
[ 利器篇 ] - 抓取蓝牙广播包数据
实际项目中,需要抓取蓝牙广播包数据进行调试,除了专有的设备之外,也可以通过手机专用的蓝牙APP进行抓包测试,这里主要介绍 LightBlue 和 nRF Toolbox for BLE , 通过Goole Play 可以下载,同时也有IOS版本。
程序手艺人
2019/02/20
2.7K0

相似问题

数据抓取时更改代理

22

在抓取中使用随机用户代理与代理?

15

智能屏幕抓取使用不同的代理和用户代理随机?

36

使用JSoup抓取URL数据时了解用户代理

11

在抓取中设置用户代理

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文