爬虫学习--豆瓣top250
最近在学习爬虫技术,在网上找了一些资料,也找到了一些例子,但找到的例子是基于python2的所以就改成了python3的,而且加了一个将电影的评分也打印出来的语句,话不多说,上代码:#!/usr/bin/python# -*- coding: utf-8 -*- #import requests,sys,refrom bs4 import BeautifulSoup#reload(sys)#
·
最近在学习爬虫技术,在网上找了一些资料,也找到了一些例子,但找到的例子是基于python2的所以就改成了python3的,而且加了一个将电影的评分也打印出来的语句,话不多说,上代码:
#!/usr/bin/python
# -*- coding: utf-8 -*- #
import requests,sys,re
from bs4 import BeautifulSoup
#reload(sys)
#sys.setdefaultencoding('utf-8')
print('正在从豆瓣电影Top250抓取数据......')
pnames=[]
pscore=[]
for page in range(10):
url='https://movie.douban.com/top250?start='+str((page-1)*25)
print('---------------------------正在爬取第'+str(page+1)+'页......--------------------------------')
html=requests.get(url)
html.raise_for_status()
try:
soup=BeautifulSoup(html.text,'html.parser')
soup=str(soup) # 利用正则表达式需要将网页文本转换成字符串
title=re.compile(r'<span class="title">(.*)</span>')
sco00=re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
names=re.findall(title,soup)
score=re.findall(sco00,soup)
for name in names:
if name.find('/')==-1: # 剔除英文名(英文名特征是含有'/')
pnames.append(name)
for core in score:
pscore.append(core)
except Exception as e:
print(e)
print('爬取完毕!')
for i in range(len(pscore)):
print(pnames[i] + '\t' + pscore[i])
输出结果如图:
等等。。。。。
更多推荐



所有评论(0)