Python爬虫入门系列之Scrapy爬取Ajax网页
import scrapy
from scrapy import Selector
class AjaxSpider(scrapy.Spider):
name = 'ajax_spider'
start_urls = ['http://example.com/ajax_endpoint.php']
def start_requests(self):
# 构建POST请求的数据
post_data = {'key1': 'value1', 'key2': 'value2'}
for url in self.start_urls:
# 发送POST请求
yield scrapy.FormRequest(url, formdata=post_data, callback=self.parse)
def parse(self, response):
# 解析返回的JSON数据
data = json.loads(response.text)
for item in data['items']:
# 提取需要的信息
yield {
'title': item['title'],
'description': item['description']
}
这个示例展示了如何使用Scrapy来爬取一个通过AJAX动态加载内容的网页。首先,我们定义了一个名为ajax_spider
的爬虫,并设置了起始的URL。在start_requests
方法中,我们构建了需要发送的POST请求的数据,并发送了POST请求。在parse
方法中,我们解析了返回的JSON数据,并提取了每个项目的标题和描述。这个例子演示了如何处理AJAX加载的数据,并提取了有价值的数据。
评论已关闭