scrapy简单学习2—解析简单的spider代码

2140 查看

学习网站:
麦子学院scrapy
python网络爬虫
解析代码:

import scrapy

from tutorial.items import DmItem

class DmozSpider(scrapy.Spider):
    name = "dm" #爬虫名
    allowed_domains = ["dmoz.org"]#allow_domains是搜索的域名范围,也就是爬虫的约束区域,规定爬虫只爬取这个域名下的网页。
    start_urls = [
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
        "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
    ]#要爬取的网站
    
    
        #parse解析的方法,
        #调用的时候传入从每一个URL传回的Response对象作为唯一参数,
        #负责解析并匹配抓取的数据(解析为item),跟踪更多的URL。
    def parse(self, response):
        
        #爬取网页所有的ul标签下li标签
        for li in response.xpath('//*[@id="bd-cross"]/fieldset[3]/ul/li'):
            #项目=载入DmItem()类
            item = DmItem()
            #项目['标题']=li标签里面的a标签的文子()
            item['title'] = li.xpath('a/text()').extract()
            #连接=li标签里a标签的href属性
            item['link'] = li.xpath('a/@href').extract()
            #描述=li标签里的text()
            item['desc'] = li.xpath('text()').extract()
            
            yield item#返回项目

备注:简单的罗列一下有用的xpath路径表达式