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("沒有相關書籍")
python爬西安市圖書館書籍查詢
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。