用Python如何爬取下载kindle网站电子书
这篇文章将为大家详细讲解有关用Python如何爬取下载kindle网站电子书,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一个下载看kindle(kankindle.com)的所有电子书的python脚本,程序会自动下载首页部分13页的所有电子书,下载到ebook目录下,程序会检测是否下载过。
#!/usr/bin/envpython#coding=utf-8frombs4importBeautifulSoupimporturllib2importsocketimportreimportunicodedataimportosfromurwid.text_layoutimporttrim_linedefdownload(url):print'startingdownload%s'%urlresponse=urllib2.urlopen(url,timeout=30)html_data=response.read()soup=BeautifulSoup(html_data)print'starttoanalayse---------------'title_soup=soup.find_all(class_='yanshi_xiazai')name_soup=soup.find_all('h2')tag_a=title_soup[0].a.attrs['href']tag_name=title_soup[0].a.contentslink_name=name_soup[0]link_name=str(link_name).replace("<h2>","").replace("</h2>","")#printtag_name[0]#printlink_namefilename=link_name+".mobi"filename="ebook/"+filenameprint'filenameis:%s'%filenameprint"downloadingwithurllib2%s"%tag_aifos.path.exists(filename):print'alreadydonwload,ignore'else:try:f=urllib2.urlopen(tag_a,timeout=60)data=f.read()#print'thedatais%s'%datawithopen(filename,"wb")ascode:code.write(data)exceptException,e:printedefget_all_link(url):print'Startinggetallthelist'response=urllib2.urlopen(url,timeout=30)html_data=response.read()#printhtml_datasoup=BeautifulSoup(html_data)link_soup=soup.find_all('a')#printlink_soupforeach_linkinlink_soup:ifre.search('view',str(each_link)):#printeach_linkprinteach_linkprinteach_link.attrs['href']download(each_link.attrs['href'])if__name__=='__main__':forpageinrange(1,13):url="http://kankindle.com/simple/page/3"+str(page)url=url.strip()printurlget_all_link(url)
关于用Python如何爬取下载kindle网站电子书就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。