【Python爬虫】- 统计各自作业完成情况

目录

一、思路
二、封装函数
三、运行结果

一、思路

抓取作业提交专题文章数据,并统计各自作业的完成情况。

需要注意的地方:

  • 思路和上篇文章相似,把专题页当作多页的电影页来获取源码。
  • 通过观察 url 的方法获取源码的方法在这里行不通:用http://www.jianshu.com/c/1b31f26b6af0只能获取几篇文章的源码。
  • Scrapy爬取"单页面"数据(一)文章有介绍用抓包的方法获取 url。
  • 我得到的 url 是:http://www.jianshu.com/c/1b31f26b6af0?order_by=added_at&page=2
  • 观察发现url 的尾数分别从2到17,不过尾数为17的 url 获取不到内容。
  • 一个 url 能爬到最多10篇文章,
  • 最后定义一个函数用于统计完成作业的次数。

二、封装函数

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import requests
from lxml import etree


# 专题页:
def get_title(url):
    res = requests.get(url)
    res.encoding = "utf-8"
    html = res.text
    selector = etree.HTML(html)
    infos = selector.xpath('//ul[@class="note-list"]//div[@class="content"]//a[@class="title"]')
    for info in infos:
        title_url = 'http://www.jianshu.com' + info.xpath('@href')[0]
        title_text = info.xpath('text()')[0]
        get_title_source(title_url, title_text)

# 文章页:
def get_title_source(title_url, title_text):
    new_url = title_url
    new_res = requests.get(new_url)
    new_res.encoding = "utf-8"
    new_html = new_res.text
    new_selector = etree.HTML(new_html)
    new_fos = new_selector.xpath('//div[@class="note"]//div[@class="article"]//div[@class="info"]//a')
    for new_fo in new_fos:
        author_name = new_fo.xpath('text()')[0]
        # print(author_name)
        b.append(author_name)
        
# 函数用于统计提交次数
def t_imes(b):
    mylist = b
    myset = set(mylist)
    for item in myset:
        print("%r 提交次数:%r" %(item, mylist.count(item)))

if __name__ == '__main__':
    b = [ ]
    base_url = 'http://www.jianshu.com/c/1b31f26b6af0?order_by=added_at&page=%s'
    for page in range(1, 17):
        url = base_url %str(page)
        # print('第 %r 页' % page)
        get_title(url)
    t_imes(b)

三、运行结果

作业提交次数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,602评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,259评论 4 61
  • “嘎嘎”伴随着一阵乌鸦的叫声,我艰难的坐了起来,看着手上粗大的手铐与脚上的铁链,再看看四周,心里面已经越来越明确了...
    没秋裤的老吴阅读 4,226评论 0 3
  • 今天就画一串甜甜红红的冰糖葫芦,共用时2.5小时左右,16K大小,使用红色、棕色圆珠笔。 喜欢的小伙伴也可以关注我...
    小进画论阅读 1,064评论 1 14
  • 易则易知,简则易从。易知则有亲,易从则有功。有亲则可久,有功则可大。可久则贤人之德,可大则贤人之业。简易,则天下之...
    易则知阅读 687评论 0 0