pyspider爬虫设置延时


pyspider爬虫设置延时,在scrawl中添加function函数,设置时延.

另外可以正则匹配网址方法也可以参见本条方案

def index_page(self, response):

print(response)

for each in response.doc('a[href^="http://www.zhanqi.tv/games/"]').items():

if re.match("http://www.zhanqi.tv/games/\w+", each.attr.href, re.U):

self.crawl(each.attr.href,

fetch_type='js', # fetch_type参数

js_script="""

function() {

setTimeout(window.scrollTo(0,document.body.scrollHeight), 5000);

}

""",callback=self.list_page)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的。 如果要使用 PySpider 写一个爬虫,首先需要安装 PySpider。你可以使用 pip 安装: ``` pip install pyspider ``` 然后就可以开始编写爬虫了。 爬虫一般分为四个部分: 1. **爬取策略**:确定爬取的目标网站、爬取的数据以及爬取的顺序。 2. **网络请求**:使用 Python 的网络库(如 requests、urllib 等)向目标网站发送网络请求,获取网页内容。 3. **HTML 解析**:使用 Python 的 HTML 解析库(如 Beautiful Soup、pyquery 等)解析网页内容,提取出想要的数据。 4. **数据存储**:将提取出的数据存储到文件、数据库或其他存储介质中。 下面是一个使用 PySpider 写的简单爬虫的示例: ```python import pyspider # 定义爬虫类 class Spider(pyspider.Spider): # 定义爬虫的名称和爬取的目标网站 name = 'my_spider' start_urls = ['http://www.example.com/'] # 定义爬虫的爬取策略 def on_start(self): self.crawl(self.start_urls[0], callback=self.index_page) # 定义爬虫的回调函数,处理爬取到的数据 def index_page(self, response): # 使用 Beautiful Soup 解析网页内容 soup = BeautifulSoup(response.text, 'html.parser') # 提取需要 ### 回答2: 使用Pyspider编写一个爬虫非常简单。在使用之前,我们需要确保已经安装Python和Pyspider,可以使用pip命令进行安装。 首先,我们需要导入必要的模块和类。在Pyspider中,我们需要使用三个类:CrawlSpider类,BaseHandler类和PhantomJSHandler类。 ``` from pyspider.libs.base_handler import * from pyspider.libs.phantomjs_handler import * ``` 接下来,我们需要创建一个Handler类,该类将继承BaseHandler类。在这个类中,我们可以定义我们要爬取的网站和解析器。例如,我们可以定义一个`on_start`方法来指定初始URL。 ``` class MySpiderHandler(BaseHandler): crawl_config = { 'headers': { 'User-Agent':'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)' } } def on_start(self): self.crawl('http://www.example.com', callback=self.index_page) def index_page(self, response): # 解析网页并提取所需信息 pass ``` 然后,我们需要实例化这个爬虫类,并使用`phantomjs`参数指定使用PhantomJS作为浏览器引擎。 ``` if __name__ == '__main__': configure_logging() phantomjs_handler = PhantomJSHandler() phantomjs_handler.on_start() ``` 最后,可以在命令行中运行脚本来启动爬虫。 ``` $ python spider.py ``` 这就是使用Pyspider编写爬虫的基本步骤。当然,根据实际需求,我们还可以添加更多的功能和功能扩展。 ### 回答3: Pyspider是一个基于Python开发的强大的爬虫框架,可以帮助我们方便地爬取网页数据。下面是一个简单示例,用300字中文回答如何用Pyspider写个爬虫: 首先,我们需要安装Pyspider。在命令行中使用pip install pyspider进行安装。 接下来,我们创建一个名为spider的Python文件。在文件中,我们首先导入必要的库,比如from pyspider.libs.base_handler import * 然后,我们创建一个名为MySpider的类,继承BaseHandler。在这个类中,我们需要定义一些必要的属性和方法。 1. start_urls: 爬虫的起始链接,可以是一个列表或者字符串。 2. crawl_config: 爬虫的配置,比如深度、并发数量等。 在类中,我们需要定义一个on_start方法,用于指定爬虫启动时要执行的操作。比如可以使用self.crawl方法从起始链接开始爬取数据。 我们还需要定义一个on_response方法,用于处理每个请求的响应。在这个方法中,我们可以使用response.doc(如果需要解析HTML)或response.text(如果是JSON数据)来获取返回的内容,并对其进行解析和处理。 此外,我们还可以在类中定义其他辅助方法,比如解析HTML或JSON数据的方法,保存数据的方法等。 最后,我们需要在文件的最后添加一行代码,如下所示: if __name__ == '__main__': MySpider().run() 这样,我们的爬虫就可以通过运行python spider.py命令来启动了。 以上是一个简单的Pyspider爬虫示例,当然在实际应用中可能还需要更复杂的逻辑和处理。通过学习Pyspider的文档和示例,我们可以进一步掌握如何使用Pyspider来开发更强大的爬虫
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值