zoukankan      html  css  js  c++  java
  • 爬取起点月票榜

    爬取起点月票榜

    一、实现过程

    1、找到一个感兴趣的网页——起点中文网的月票排行榜(https://www.qidian.com/rank/yuepiao),并尝试爬取:

    2、分析网页源代码,思考提取数据方法

    书名在h4标签,简介在p标签

    利用soup.find_all(name, attrs, recursive, string, **kwargs)提取书名及简介

    3、整理思路,写代码

    二、源代码

    import requests
    from bs4 import BeautifulSoup
    import bs4
    url="https://www.qidian.com/rank/yuepiao"
    
    def getHtml(url):
        r=requests.get(url)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text[26000:100000]
    
    def fillList(html):
        l1,l2 = [],[]
        soup = BeautifulSoup(html,"html.parser")    
        for i in soup.find_all('h4'):
            l1.append(str(i.string))
        
        for tag in soup.find_all('p',"intro"):
            s=str(tag.string)
            s.replace("                                                        ","  ")
            l2.append(s)
        return l1,l2
    
    def printList(l1,l2):
        n1,n2 = len(l1),len(l2)
        n=max(n1,n2)
        for i in range(n):
            print("第{}名:《{}》".format(i+1,l1[i]))
            print("简介:{}".format(l2[i]))
            print("")
    def main():
        html=getHtml(url)
        l1,l2=fillList(html)
        printList(l1,l2)
        
    main()

    三、结果

     

  • 相关阅读:
    从输入网址到页面呈现的过程
    Git 常用命令合集
    Jquery浅克隆与深克隆
    CSS变量教程
    设计模式
    Servlet和JSP简述
    SQL Server,MySQL,Oracle三者的区别
    mysql事务处理
    计时器
    java中length,length(),size()区别
  • 原文地址:https://www.cnblogs.com/19-yangqing/p/12810336.html
Copyright © 2011-2022 走看看