利用了晚上的闲暇时间,想对正则表达式+requests进行爬虫练习,故决定对豆瓣电影top(https://movie.douban.com/top250)排名进行数据爬取。因为是简单的网络页面,所以使用requests更为方便。
爬虫的思路还是分为三步:爬取页面、提取数据、保存数据。
爬取页面
爬取的过程中并没有遇到反爬措施,所以较为页面爬取相对简单。
提取数据
通过观察每类数据的共同之处,再用正则表达式对数据进行字符匹配,从而获取数据。
保存数据
数据我是使用了mongo数据库进行存储,在之前的数据库“db”中增加了一个“movie_rank”表,在使用pymongo的方法写入数据。
原代码如下:
import re
import pymongo
import requests
from bs4 import BeautifulSoup
import bs4
def getHTMLText(url1):
try:
kv = {'user-agent': 'Mozilla/4.0'}
r=requests.get(url1,headers=kv)
#设置浏览器的类型,进行迷惑
r.raise_for_status()
r.encoding='utf-8'
return r.text
except:
print("