 
                        喜欢看日乎日报,就像把他们采集下来方便以后看。
但是碰到这样的目标:http://daily.zhihu.com/story/4692091
采集回来存数据库的时候,只存第一个条目.
需要标题和内容,使用的是scrapy和re.compile方法。
如何将标题和内容一一对应,并全部存入数据库。
练习python中...
采集代码:
        ......
        item = ShenhuifuItem()
        sites = response.body
        i = sites
        items = []
        item['bid']=re.compile('(\d+)').findall(response.url)[0]
        item['title']=re.compile(r'<h2 class="question-title">(.*?)</h2>').findall(i)
        item['content']=re.compile(r'<p class="content">(.*?)</p>',re.DOTALL).findall(i)
        item['author']=re.compile(ur'<span class="author">(.*?)</span>').findall(i)
        for title in  item['title']:
            item['title'] = title
        for content in item['content']:
            item['content'] = content
        for author in item['author']:
            if "," in author:
                item['author'] = author[:-1]
            else:
                item['author']=author
        items.append(item)
        yield item
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
re.compile(r'<h2 class="question-title">(.*?)</h2>', re.M)开启多行匹配模式
谢谢,各位,匹配需求部分,然后使用for...in...循环解决。