Scrapy提供了内置的XML和JSON解析器,可以方便地处理XML和JSON数据。
- 处理XML数据: 使用Scrapy的Selector模块可以轻松地处理XML数据。可以使用XPath表达式来选择和提取需要的数据。例如:
from scrapy.selector import Selector xml_datahttps://www.yisu.com/ask/= """""" selector = Selector(text=xml_data) titles = selector.xpath('//book/title/text()').extract() authors = selector.xpath('//book/author/text()').extract() for title, author in zip(titles, authors): print(f"Title: {title}, Author: {author}") Everyday Italian Giada De Laurentiis 2005 30.00 Harry Potter J.K. Rowling 2005 29.99
- 处理JSON数据: Scrapy提供了内置的JsonResponse类来处理JSON数据。可以使用json()方法将Response对象转换为Python字典,然后直接操作字典获取需要的数据。例如:
import json
json_datahttps://www.yisu.com/ask/= """
{
"bookstore": {
"books": [
{
"title": "Everyday Italian",
"author": "Giada De Laurentiis",
"year": 2005,
"price": 30.00
},
{
"title": "Harry Potter",
"author": "J.K. Rowling",
"year": 2005,
"price": 29.99
}
]
}
}
"""
response_dict = json.loads(json_data)
for book in response_dict['bookstore']['books']:
print(f"Title: {book['title']}, Author: {book['author']}")
通过以上方法,可以方便地处理XML和JSON数据,并提取需要的信息。