日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

            歡迎訪問 生活随笔!

            生活随笔

            當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

            编程问答

            小爬虫爬起点中文网收藏榜

            發布時間:2023/12/20 编程问答 25 豆豆
            生活随笔 收集整理的這篇文章主要介紹了 小爬虫爬起点中文网收藏榜 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

            剛接觸爬蟲,用爬蟲爬了一個不需要登錄的網站:起點中文網,爬取了它的收藏榜單,但只篩選出了小說的排行和名字還有作者姓名,原本還打算加上簡介,但是簡介的源代碼存在問題,用同樣的方法爬取出的簡介的結果是一片空白,放到之后接觸更深之后再思考是不是方法存在問題。
            下面附上簡單的代碼:

            import requests #需要的庫 import json from requests.exceptions import RequestException import re import time from bs4 import BeautifulSoup #美麗湯大法好url = 'https://www.qidian.com/rank/collect?style=1&page=1' def get_one_page(url):try: #之前沒有加headers被防爬功能禁止了IPheaders = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}response = requests.get(url, headers=headers)if response.status_code == 200: #成功狀態return response.textreturn Noneexcept RequestException:return Nonedef parse_one_page(html):soup = BeautifulSoup(html, 'lxml') #第二個參數解析器類型,這里用lxmlnums=soup.find_all(attrs={'class':'book-img-box'})#序號的標簽屬性texts=soup.find_all(attrs={'data-eid':'qd_C40'})#書名...names=soup.find_all(attrs={'data-eid':'qd_C41'})#作者姓名...for (num,text,name) in zip(nums,texts,names):#學到新知識:多個參數的for循環用zip()print('序號:'+num.text+'\t書名:'+text.text+'\t\t'+'作者:'+name.text)def write_to_file(content):#寫入文件with open('result2.txt','a',encoding='utf-8') as f:f.write(json.dumps(content,ensure_ascii=False)+'\n')def main(page):url = 'https://www.qidian.com/rank/collect?style=1&page='+str(page)#頁碼不同地址不同,觀察發現末尾發生變化html = get_one_page(url)parse_one_page(html)if __name__=='__main__':for i in range(1,11):#改變頁碼的地址main(page=i)time.sleep(1)#防止速度過快被禁止

            下面是部分結果,還存在小缺點就是這個因為書名長度不一樣,就沒辦法用\t來控制對齊,用格式化輸出控制應該就會解決,emmmm對,原來是我太天真了,試了很多方法比如str.ljust()和format(),序號和書名可以分開對齊了但是作者老是不能單獨對齊,之后編寫函數對齊吧:

            序號: 1 書名:一念永恒 作者:耳根 序號: 2 書名:圣墟 作者:辰東 序號: 3 書名:修真聊天群 作者:圣騎士的傳說 序號: 4 書名:玄界之門 作者:忘語 序號: 5 書名:斗羅大陸III龍王傳說 作者:唐家三少 序號: 6 書名:斗破蒼穹 作者:天蠶土豆 序號: 7 書名:大主宰 作者:天蠶土豆 序號: 8 書名:不朽凡人 作者:鵝是老五 序號: 9 書名:大唐仙醫 作者:禿筆居士 序號: 10 書名:雪鷹領主 作者:我吃西紅柿 序號: 11 書名:完美世界 作者:辰東 序號: 12 書名:萬界天尊 作者:血紅 序號: 13 書名:琴帝 作者:唐家三少 序號: 14 書名:放開那個女巫 作者:二目 序號: 15 書名:美食供應商 作者:會做菜的貓 序號: 16 書名:牧神記 作者:宅豬 序號: 17 書名:盤龍 作者:我吃西紅柿 序號: 18 書名:斗羅大陸 作者:唐家三少 序號: 19 書名:我欲封天 作者:耳根 序號: 20 書名:凡人修仙傳 作者:忘語

            也可以這樣哈哈哈 看起來好看多了 就是一點也不實用:

            for (num,text,name) in zip(nums,texts,names):print("*********************")print('序號:'+num.text)print('作者:'+name.text)print('書名:'+text.text)print("*********************\n")

            花里胡哨的效果:

            ********************* 序號: 1 作者:耳根 書名:一念永恒 ****************************************** 序號: 2 作者:辰東 書名:圣墟 ****************************************** 序號: 3 作者:圣騎士的傳說 書名:修真聊天群 ****************************************** 序號: 4 作者:忘語 書名:玄界之門 ****************************************** 序號: 5 作者:唐家三少 書名:斗羅大陸III龍王傳說 *********************

            總結

            以上是生活随笔為你收集整理的小爬虫爬起点中文网收藏榜的全部內容,希望文章能夠幫你解決所遇到的問題。

            如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。