python爬虫框架scrapy初试(二点一)

功能:爬取某网站部分新闻列表和对应的详细内容。

列表页面http://www.zaobao.com/special/report/politic/fincrisis

实现代码:

import scrapy
class ZaobaoSpider(scrapy.Spider):
    name = 'zaobao'
    start_urls=["http://www.zaobao.com/special/report/politic/fincrisis"]

    def parse(self,response):
        for href in response.xpath('//*[@id="DressUp"]/div[2]/div[1]/div/div/div/a/@href'):
            full_url = response.urljoin(href.extract())
            yield scrapy.Request(full_url,callback=self.parse_news)   #将列表url返回给parse_news函数进行详细爬取
    def parse_news(self,response):
        yield {
            'title':response.xpath('//*[@id="MainCourse"]/div/h1').extract(),'body':response.xpath('//*[@id="FineDining"]').extract(),
            'link':response.url

        }

运行方法:

scrapy runspider zao.py -o ac.csv     #-o 输出为文件,保存格式为csv格式

结果:

原文地址:https://www.cnblogs.com/cui0x01/p/6222711.html