python re抓站存数据问题。

喜欢看日乎日报,就像把他们采集下来方便以后看。
但是碰到这样的目标: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'<div class="content">(.*?)</div>',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
阅读 3.4k
2 个回答

re.compile(r'<h2 class="question-title">(.*?)</h2>', re.M)

开启多行匹配模式

谢谢,各位,匹配需求部分,然后使用for...in...循环解决。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题