爬取新浪微博

Posted 骑着赶路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬取新浪微博相关的知识,希望对你有一定的参考价值。

崔庆才

学到的东西。

  1 习惯用logger,而不是用print

self.logger.debug({}开始解析.format(response.url))

  2 习惯用正则表达式

s = 5分钟前

if re.match(\d+分钟前,s):
    minute = re.match((\d+),s).group(1)
    datetime = time.strftime(%Y-%m-%d %H:%M,time.localtime(time.time()-float(minute)*60))

    print(datetime)

  3 time模块都快忘干净了吧

  4 eval的妙用,还可以这样用!

  注释的是lowB代码。如果字段更多,更显的low。

  学到了

    def parse_detail(self,response):
        self.logger.debug({}开始解析.format(response.url))
        item = YQtem()
        title = response.css(body > div.wrap > div.mainbox > div.main2 > div.left > div.title > strong > a::text).extract_first()
        author = response.css(body > div.wrap > div.mainbox > div.main2 > div.right > div.autherinfo > div.au_name > p:nth-child(2) > a::text).extract_first()
        popularity = response.css(body > div.wrap > div.mainbox > div.main2 > div.left > div.num > table > tbody > tr > td:nth-child(2)::text).extract_first()
        count = response.css(body > div.wrap > div.mainbox > div.main2 > div.left > div.num > table > tbody > tr > td:nth-child(4)::text).extract_first()
        # item[title] = title
        # item[author] = author
        # item[popularity] = popularity
        # item[count] = count
        for field in item.fields:
            item[field] = eval(field)
        yield item

 

以上是关于爬取新浪微博的主要内容,如果未能解决你的问题,请参考以下文章

Python爬取新浪微博用户信息及内容

Python爬虫开源项目代码,爬取微信淘宝豆瓣知乎新浪微博QQ去哪网等 代码整理

Scrapy爬取新浪微博用户信息用户微博及其微博评论转发

Scrapy 爬取新浪微博

Python爬取新浪微博评论数据,写入csv文件中

Python 超简单爬取新浪微博数据 (高级版)