简书7日热门crawl

作者: 谁占了我的一年的称号 | 来源:发表于2017-04-19 22:40 被阅读49次

    论文要开题,想了老久的要写的内容,结果发现被人家换个名字全部写完了。吐了两天的血了。。。

    没活路了

    回归正题,向右老师布置了第一个作业,爬取简书七日热门的
    1.用户
    2.标题
    3.阅读量
    4.评论量
    5.获赞量
    6.打赏数
    7.文章发表时间
    跟前面的爬异步加载的文章是一样的,就是要找出真实的网页地址

    Paste_Image.png Paste_Image.png

    可以看到,加载的越多,URL就越长,这没法构建啊!
    加载到最后,看到了第一行,把它复制到浏览器里,看到了什么? 大声告诉我你看到来了什么?


    Paste_Image.png

    是的,这就是我们要的了。那就没问题了,老套路走起。

    Paste_Image.png
    import requests
    from lxml import etree
    import time
    import csv
    
    def crawl1(url):
       html= requests.get(url).content
       sel= etree.HTML(html)
       infos= sel.xpath('//ul[@class="note-list"]/li/div[@class="content"]')
       for info in infos:
           list1=[]
           author= info.xpath('div[@class="author"]/div/a/text()')[0]
           get_time = info.xpath('div[@class="author"]/div/span/@data-shared-at')[0].replace('T',' ')
           title = info.xpath('a[@class="title"]/text()')[0]
           read_num = info.xpath('div[@class="meta"]/a[1]/text()')[1][:-1]#这里要对爬下来的数据修改一下。
           comment_num = info.xpath('div[@class="meta"]/a[2]/text()')[1][:-1]
           point_num = info.xpath('div[@class="meta"]/span[1]/text()')[0]
           reward_num = info.xpath('div[@class="meta"]/span[2]/text()')
           if len(reward_num) ==0: # 有的文章是没有打赏的,就要判断一下了。
               reward_num = '无赞赏'
           else:
               reward_num = reward_num[0]
           print(author,get_time,title,read_num,comment_num,point_num,reward_num)
           list1.append(author),list1.append(get_time),list1.append(title),list1.append(read_num),list1.append(comment_num),list1.append(point_num),list1.append(reward_num)
           with open('d:\\简书.csv', 'a+') as f:
               f.write('author,get_time,title,read_num,comment_num,point_num,reward_num\n')
               f.write('{},{},{},{},{},{},{}'.format(author,get_time,title,read_num,comment_num,point_num,reward_num)+'\n')
    
    if __name__=='__main__':
       for i in range(1,6):
           url= 'http://www.jianshu.com/trending/weekly?utm_medium=index-banner-s&utm_source=desktop&page=%s'%i
           print('正在处理第%d页'%i)
           crawl1(url)
    

    爬取结果如图

    Paste_Image.png

    相关文章

      网友评论

      本文标题:简书7日热门crawl

      本文链接:https://www.haomeiwen.com/subject/hgshzttx.html