Python 循环爬虫DB

import requests
import re
f = open("豆瓣250电影.csv", mode="w", encoding='utf-8')

i=-25
while i<250:
	url = "https://movie.douban.com/top250?start="+str(i+25)+"&filter="
	headers = {
		"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
	}

	resp = requests.get(url)
	resp = requests.get(url, headers=headers)

	pageSource = resp.text
	obj = re.compile(r'<div class="item">.*?<span class="title">(?P<name>.*?)</sp'
					 r'an>.*?导演: (?P<dao>.*?)&nbsp;.*?<br>'
					 r'(?P<year>.*?)&nbsp;.*?<span class="rating_num" property="v:average">'
					 r'(?P<score>.*?)</span>.*?<span>(?P<num>.*?)人评价</span>', re.S)

	# 进行正则匹配
	result = obj.finditer(pageSource)
	for item in result:
		name = item.group("name")
		dao = item.group("dao")
		year = item.group("year").strip()  # 去掉字符串左右两端的空白  空格----1949,位置在最前面。随意会有空格。输出的时候屏蔽掉
		score = item.group("score")
		num = item.group("num")
		f.write(f"{name},{dao},{year},{score},{num}\n")  # 如果觉着low. 可以更换成csv模块. 进行数据写入
	i=i+25    #细节:这个不在for循环里
f.close()  # 退出 while 循环,才关闭!!
resp.close()    # 退出 while 循环,才关闭!!
print("豆瓣TOP250提取10页数据完毕.")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值