初学爬虫一、获取某分类下所有页地址
2017-01-09 20:29
447 查看
import requests from bs4 import BeautifulSoup import sys sys.encoding = "utf8" class PageCatch(object): def __init__(self,host,shortUrl): self.host = host; #域名+分类 self.shortUrl = shortUrl; #具体请求页 self.url = host + shortUrl; #完整URL def __getPageContent(self): #获取URL内容# req = requests.get(self.url); if req.status_code == 200: req.encoding = "gb2312"; strText = req.text; return strText; else: return ""; def __getMaxPageNumAndUrl(self): reqContent = self.__getPageContent(); #获取分页地址 分页url 形如 list45_2.html 2为页号# soup = BeautifulSoup (reqContent,"html.parser"); for ul in soup.select(".plist"): maxPageNum = ul.select("strong")[0].text; alink = ul.select("a"); if alink[-1]['href'] == "#": return int(maxPageNum),alink[1]['href']; return 0; def __formatPage(self,pageNum): #格式化url 形如 list45_2.html# lineBeginSite = self.shortUrl.index("_")+1; docBeginSite = self.shortUrl.index("."); return self.shortUrl[:lineBeginSite]+str(pageNum+1)+self.shortUrl[docBeginSite:]; def getBookPageList(self): #获取书籍每页的URL# shortPageList = []; maxPageNum,urlPattern = self.__getMaxPageNumAndUrl(); for i in range(maxPageNum): shortPageList.append(self.host + self.__formatPage(i)); return shortPageList; if __name__ == '__main__': p = PageCatch("http://www.jb51.net/books/","list152_35.html"); shortPageList = p.getBookPageList(); print (shortPageList);
相关文章推荐
- [PHP] 编写爬虫获取淘宝网上所有的商品分类以及关键属性 销售属性 非关键属性数据
- Java 爬虫(获取指定页面中所有的邮箱地址)
- jsp获取某网站所有链接地址
- 如何获取本机所有MAC地址
- 正则表达式:网页爬虫:从TXT中获取邮箱地址(获取的练习)
- magento 获取所有分类
- java网络爬虫——获取页面的所有超链接的内容
- MySQL获取所有分类和每个分类的前N条记录
- asp循环获取URL地址中的所有变量参数值
- Python获取APNIC地址库的所有IP地址Whois信息
- 获取分类树下制定分类下的所有子类ID集合【方法】
- 网页爬虫--从网页中获取邮箱地址
- 获取指定(访客)IP的所有信息,地址、邮政编码、国家、经纬度等的API
- 获取所有分类下TOPN条记录
- 如何获取本机所有MAC地址
- 获取页面内所有FLASH地址。。。
- SQLServer2005获取所有分类下TOPN条记录
- VB获取所有网卡MAC地址
- vc6 获取本机所有mac地址