我是怎么扒光了豆瓣图书系列 1
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                我是怎么扒光了豆瓣图书系列 1
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                因為做畢業(yè)課設, 想做一個 關于圖書的 智能客服機器人
但是, 要做圖書的客服機器人,就需要有數(shù)據(jù),所以,我選定了從豆瓣那里獲取數(shù)據(jù)
那么,第一步, 我是首先獲取所有的熱門 標簽
##使用selenium from selenium import webdriver import time from bs4 import BeautifulSoup from lxml import etree #browser = webdriver.Firefox()#browser.get("https://book.douban.com/tag") #print(browser.page_source) #soup = BeautifulSoup(browser.page_source, 'lxml') # 解析器:html.parser #####首先是獲取所有的類型 #daleixing=soup.find_all('a',class_=['tag-title-wrapper']) #xiaoleixing=soup.find_all('a',attrs={'href':True})#print(xiaoleixing)得到所有的熱門標簽
xiao=['小說', '外國文學', '文學', '隨筆', '中國文學', '經(jīng)典','日本文學', '散文', '村上春樹', '詩歌', '童話', '兒童文學','古典文學', '名著', '王小波', '雜文', '余華', '張愛玲', '當代文學', '錢鐘書', '外國名著','魯迅', '詩詞', '茨威格', '米蘭·昆德拉', '杜拉斯', '港臺','漫畫', '推理', '繪本', '青春','東野圭吾', '科幻', '懸疑', '言情', '奇幻', '武俠', '日本漫畫', '推理小說', '耽美', '韓寒','亦舒', '網(wǎng)絡小說', '三毛', '安妮寶貝', '科幻小說', '阿加莎·克里斯蒂', '金庸', '穿越', '郭敬明','輕小說', '青春文學', '魔幻', '幾米', '幾米', '張小嫻', 'J.K.羅琳', '古龍', '高木直子', '滄月', '校園','落落', '張悅然','歷史', '心理學', '哲學', '傳記', '社會學', '文化', '藝術', '社會', '設計', '政治', '建筑','宗教', '電影', '政治學', '數(shù)學', '中國歷史', '回憶錄', '思想', '國學', '人物傳記', '人文', '藝術史', '音樂', '繪畫','戲劇', '西方哲學', '二戰(zhàn)', '近代史', '軍事', '佛教', '考古', '自由主義', '美術','愛情', '成長', '旅行', '生活','心理', '勵志', '女性', '攝影', '教育', '職場', '美食', '游記', '靈修', '健康', '情感', '人際關系', '兩性', '手工','養(yǎng)生', '家居', '自助游','經(jīng)濟學', '管理', '經(jīng)濟', '商業(yè)', '金融', '投資', '營銷', '理財', '創(chuàng)業(yè)', '廣告', '股票', '企業(yè)史', '策劃','科普','互聯(lián)網(wǎng)', '編程', '科學', '交互設計', '用戶體驗', '算法', '科技', 'web', 'UE', '交互', '通信', 'UCD', '神經(jīng)網(wǎng)絡', '程序']然后就是通過標簽, 去慢慢遍歷所有的網(wǎng)頁
from lxml import etree import requests import time ###獲取頁數(shù) def huoquyeshu(tage):liulanqi = requests.session()url='https://book.douban.com/tag/'+taged=liulanqi.get(url=url)ye = d.content.decode()yemian = etree.HTML(ye) # 格式化#//*[@id="subject_list"]/div[2]/a[10]###獲取頁面數(shù)yemianshu=yemian.xpath(r'//*[@id="subject_list"]/div[2]/a')if len(yemianshu)==0:return 1else:zuihouyige=yemianshu[-1]#print(zuihouyige)#print(zuihouyige.xpath(r'text()'))return int(zuihouyige.xpath(r'text()')[0]) def huoquyemian(tage,num):liulanqi = requests.session()url='https://book.douban.com/tag/'+tage+'?start='+str(20*num)+'&type=T'd=liulanqi.get(url=url)ye = d.content.decode()yemian = etree.HTML(ye) # 格式化#print(yemian)xiaoshuo1=yemian.xpath(r'//div[@class="info"]')#yemian.xpath(r'//li[@id="subject_list"]/ul/li[1]/div[2]/h2/a/text()') ['\n\n 解憂雜貨店\n\n\n \n\n ']#print(xiaoshuo1)if xiaoshuo1=='' or xiaoshuo1==None or xiaoshuo1==[]:return 0else:mm=xiaoshuo1[0]##獲取所有的小說名字xiaoshuoming=mm.xpath(r'//div/h2/a/text()')##獲取小說地址urla=mm.xpath(r'//div/h2/a/@href')if len(urla)==0:return 0liulanqi.close()filename=tage+'.txt'd = open(filename, mode='a+', encoding='utf-8')for cle in range(len(xiaoshuoming)):xiaoshuoming[cle]=xiaoshuoming[cle].replace('\n','')xiaoshuoming[cle] = xiaoshuoming[cle].replace(' ', '')xiaoshuomingzi=[i for i in xiaoshuoming if i != '']if len(urla)==len(xiaoshuomingzi):for xu,ss in enumerate(xiaoshuomingzi):mingzi=xiaoshuomingzi[xu].replace('\n','')mingzi=mingzi.replace(' ','')urls=urla[xu].replace('\n','')d.writelines(mingzi+" ")d.writelines(urls)d.writelines('\n')d.close()return 1# browser = webdriver.Firefox()# browser.get("https://book.douban.com/tag")# print(browser.page_source)# soup = BeautifulSoup(browser.page_source, 'lxml') # 解析器:html.parserpass xiao=['小說', '外國文學', '文學', '隨筆', '中國文學', '經(jīng)典','日本文學', '散文', '村上春樹', '詩歌', '童話', '兒童文學','古典文學', '名著', '王小波', '雜文', '余華', '張愛玲', '當代文學', '錢鐘書', '外國名著','魯迅', '詩詞', '茨威格', '米蘭·昆德拉', '杜拉斯', '港臺','漫畫', '推理', '繪本', '青春','東野圭吾', '科幻', '懸疑', '言情', '奇幻', '武俠', '日本漫畫', '推理小說', '耽美', '韓寒','亦舒', '網(wǎng)絡小說', '三毛', '安妮寶貝', '科幻小說', '阿加莎·克里斯蒂', '金庸', '穿越', '郭敬明','輕小說', '青春文學', '魔幻', '幾米', '幾米', '張小嫻', 'J.K.羅琳', '古龍', '高木直子', '滄月', '校園','落落', '張悅然','歷史', '心理學', '哲學', '傳記', '社會學', '文化', '藝術', '社會', '設計', '政治', '建筑','宗教', '電影', '政治學', '數(shù)學', '中國歷史', '回憶錄', '思想', '國學', '人物傳記', '人文', '藝術史', '音樂', '繪畫','戲劇', '西方哲學', '二戰(zhàn)', '近代史', '軍事', '佛教', '考古', '自由主義', '美術','愛情', '成長', '旅行', '生活','心理', '勵志', '女性', '攝影', '教育', '職場', '美食', '游記', '靈修', '健康', '情感', '人際關系', '兩性', '手工','養(yǎng)生', '家居', '自助游','經(jīng)濟學', '管理', '經(jīng)濟', '商業(yè)', '金融', '投資', '營銷', '理財', '創(chuàng)業(yè)', '廣告', '股票', '企業(yè)史', '策劃','科普','互聯(lián)網(wǎng)', '編程', '科學', '交互設計', '用戶體驗', '算法', '科技', 'web', 'UE', '交互', '通信', 'UCD', '神經(jīng)網(wǎng)絡', '程序'] for qwe in xiao:duoshao=huoquyeshu(qwe)print("當前type為"+qwe)for m in range(duoshao):time.sleep(0.5)print("當前頁數(shù)為",str(m)," type "+qwe)jie=huoquyemian(tage=qwe,num=m)if jie==0:break #huoquyeshu('程序') #huoquyeshu('小說')最終得到所有的書籍,和對應的ID
PS下一步就是獲取 所有圖書的信息
總結
以上是生活随笔為你收集整理的我是怎么扒光了豆瓣图书系列 1的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 使用KMSmicro搭建局域网KMS服务
- 下一篇: mediainfo使用
