python3爬取豆瓣书籍top250

本博客介绍了一个Python程序,该程序用于从豆瓣网站爬取Top250书籍的相关信息,包括书名、作者、评分等,并展示了如何解析网页内容及抓取具体数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

豆瓣

import re
import ssl
import urllib.request

ssl._create_default_https_context=ssl._create_unverified_context

class Douban:
	def __init__(self):
		self.queque=[]
		self.user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14'
		self.headers={'User_Agent':self.user_agent}
		self.enable=False
		self.pageIndex=0
		self.pageStorage=[]
		self.result=[]

	def getpage(self):
		url='https://book.douban.com/top250?start='+str(self.pageIndex)
		req=urllib.request.Request(url,headers=self.headers)
		with urllib.request.urlopen(req) as response:
			pageCode=response.read().decode('utf-8')
		p=re.compile(r'.*?title=.*?>(.*?)<.*?<p class="pl">(.*?)</p>.*?<span class="rating_nums">(.*?)</span>.*?\((.*?)\).*?<span class="inq">(.*?)</span>',re.S)
		self.result=re.findall(p,pageCode)
		book_list=[]
		for item in self.result:
			#book_list.append([item[0].strip(),item[1].strip(),item[2].strip(),item[3].strip(),item[4].strip()])
			book_list.append([item[0].strip(),item[1].strip(),item[2].strip(),item[3].strip()])
		for item in book_list:
			print(item)
		return pageCode
	def start(self):
		self.enable=True
		while self.pageIndex<10:
			print('{}~{}'.format(self.pageIndex*25,(self.pageIndex+1)*25-1))
			pageCode=self.getpage()
			self.pageIndex+=1



if __name__=='__main__':
	douban_spider=Douban()
	douban_spider.start()





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值