数据分析与实践-python-网络爬虫-Scrapy爬虫基础-网页数据解析-requests 爬虫-JSON基础
import scrapy
class MySpider(scrapy.Spider):
name = 'example.com'
allowed_domains = ['example.com']
start_urls = ['http://www.example.com/']
def parse(self, response):
# 提取页面中的所有链接并进一步爬取
for href in response.css('a::attr(href)').getall():
# 构造绝对URL,并进行请求,parse_page方法将在下一页的响应中被调用
yield response.follow(href, callback=self.parse_page)
def parse_page(self, response):
# 提取页面中的有效数据
for item in response.css('div.item'):
yield {
'title': item.css('a::text').get(),
'link': item.css('a::attr(href)').get(),
'desc': item.css('span::text').get(),
}
这个简单的Scrapy爬虫示例展示了如何定义一个Spider,包括名称、允许爬取的域名、起始URL和解析方法。parse
方法用于提取起始页面的链接,并通过response.follow
方法递归地爬取每个页面。parse_page
方法用于提取每个页面上的数据项,这里的CSS选择器仅为示例,需要根据实际页面结构进行相应调整。
评论已关闭