用Python的scrapy写一个爬虫程序
时间: 2023-11-28 10:03:59 浏览: 101
好的,下面是一个简单的使用 Scrapy 爬取网页数据的 Python 代码示例:
```python
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
start_urls = ['http://example.com']
def parse(self, response):
# 处理响应数据
title = response.css('title::text').get()
body = response.css('body::text').get()
# 将结果保存到文件中
with open('result.txt', 'a') as f:
f.write(f'Title: {title}\n')
f.write(f'Body: {body}\n')
# 获取下一页链接并继续爬取
next_page = response.css('a::attr(href)').get()
if next_page is not None:
next_page = response.urljoin(next_page)
yield scrapy.Request(next_page, callback=self.parse)
```
在这个示例中,我们定义了一个名为 `MySpider` 的爬虫类,并设置了其爬取的起始网页地址为 `http://example.com`。在 `parse` 方法中,我们使用了 Scrapy 提供的 CSS Selector 和 XPath 等方式来处理响应数据,获取网页标题和正文内容,并将结果保存到文件中。然后,我们使用 `response.css` 方法获取下一页链接,并通过 `scrapy.Request` 方法继续爬取下一页。这样我们就可以递归地爬取整个网站了。
当然,这只是一个简单的示例。在实际应用中,我们还需要处理各种异常情况,如网络连接失败、响应超时、反爬虫策略等等。但是 Scrapy 提供了很多方便的工具和组件,可以帮助我们轻松地构建一个强大的、高效的爬虫程序。
阅读全文
相关推荐












