python爬西安市圖書館書籍查詢

from pyquery import PyQuery as pq

import re,time,requests,json

a=1

while a==1:

? ? headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}

? ? shuming=input("輸入要查詢的書:")

? ? aaa=pq(f'http://113.200.60.162:8090/opac/search?q={shuming}')

? ? yema=aaa('#resultTile > div:nth-child(3) > span').text()

? ? yema1=re.findall('\d+',yema)

? ? if yema1:

? ? ? ? yema2=(int(yema1[0]))+1

? ? ? ? print(f'總共搜索到{yema2-1}頁')

? ? ? ? for i in range(1,yema2):

? ? ? ? ? ? aaa1=requests.get(f'http://113.200.60.162:8090/opac/search?q={shuming}&searchType=standard&isFacet=true&view=standard&rows=10&sortWay=score&sortOrder=desc&searchWay0=marc&logical0=AND&page={i}',headers=headers).text

? ? ? ? ? ? aaa2=pq(aaa1)

? ? ? ? ? ? time.sleep(0.5)

? ? ? ? ? ? print(f'第{i}頁')

? ? ? ? ? ? for i in aaa2('.resultList >.resultTable > tr').items():

? ? ? ? ? ? ? ? print (i('td').eq(1).text(),'\t',end="")

? ? ? ? ? ? ? ? print (i('.bookmetaTitle > a').text(),'\t'.format(chr(12288)),end="")

? ? ? ? ? ? ? ? print ('\t',i('td.bookmetaTD > div.bookmeta > div:nth-child(2)').text(),'\t'.format(chr(12288)))

? ? ? ? ? ? ? ? bianma=str((i('.bookmeta').attr('bookrecno')))

? ? ? ? ? ? ? ? if bianma:

? ? ? ? ? ? #? ? ? ? print (bianma)

? ? ? ? ? ? #? ? ? ? time.sleep(0.5)

? ? ? ? ? ? ? ? ? ? bianma2=f'http://113.200.60.162:8090/opac/book/holdingPreviews?bookrecnos={bianma}&curLibcodes=&return_fmt=json'

? ? ? ? ? ? ? ? ? ? bianma3=requests.get(bianma2,headers=headers,timeout=3).text

? ? ? ? ? ? ? ? ? ? time.sleep(1)

? ? ? ? ? ? ? ? ? ? if bianma3:

? ? ? ? ? ? ? ? ? ? ? ? #s輸出json頁面

? ? ? ? ? ? ? ? ? ? ? ? lrc=json.loads(bianma3)

? ? ? ? #? ? ? ? ? ? ? ? print (bianma3)

? ? ? ? ? ? ? ? ? ? #? ? print(lrc)

? ? ? ? ? ? ? ? ? ? ? ? previews= lrc.get('previews')

? ? ? ? ? ? ? ? ? ? ? ? previews1= previews.get(bianma)

? ? ? ? ? ? ? ? ? ? ? ? if previews1:

? ? ? ? ? ? ? ? ? ? ? ? ? ? for i1 in range(len(previews1)):

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? previews2=previews1[i1]

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print()

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print(previews2['curlibName'],'\t',end="")

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print(previews2['curlocalName'],'\t',end="")

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? print(previews2['callno'],end="")

? ? ? ? ? ? ? ? ? ? ? ? #? ? print(previews1[i],end="")

? ? ? ? ? ? ? ? ? ? ? ? ? ? #? ? previews2=previews1[i]

? ? ? ? ? ? ? ? ? ? ? ? ? ? #? ? print(previews2['callno'],previews2['curlibName'],previews2['curlocalName'])

? ? ? ? ? ? ? ? print()

? ? ? ? ? ? ? ? print()

? ? ? ? ? ? ? ? print()

? ? ? ? ? ? print('查下下一頁,稍等幾秒')

? ? ? ? ? ? time.sleep(5)

? ? else:

? ? ? ? print("沒有相關書籍")

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。