码迷,mamicode.com
首页 > 其他好文 > 详细

爬取起点月票榜

时间:2020-04-30 19:36:03      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:attr   排行榜   text   end   bsp   raise   class   兴趣   方法   

爬取起点月票榜

一、实现过程

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()

三、结果

技术图片

 

 

爬取起点月票榜

标签:attr   排行榜   text   end   bsp   raise   class   兴趣   方法   

原文地址:https://www.cnblogs.com/19-yangqing/p/12810336.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!