前面讲了如何通过pymysql操作数据库,这次写一个爬虫来提取信息,并将数据存储到mysql数据库
1.爬取目标
爬取猫眼电影TOP100榜单
要提取的信息包括:电影排名、电影名称、上映时间、分数
2.分析网页HTML源码
可以看到每部电影信息都被包裹在一对
...标签中,所以我们只需提取出一个标签对中的上述信息即可。使用正则表达式提取3. 完整过程
这个例子有2个关键点:正则编写和数据处理(写进mysql数据库)
(1) 正则表达式的编写
pattern = re.compile(r'
.*?(\d+).*?' # 匹配电影排名(加个?表示非贪婪匹配,不是匹配0次或1次)r'
(.*?)' # 匹配电影名称
r'.*?
(.*?)' # 匹配上映时间r'.*?(.*?)' # 匹配分数的整数位
r'.*?(.*?).*?
', re.S) # 匹配分数小数位,re.S表示跨行匹配m = pattern.findall(html)
# print(m)
使用findall()方法来匹配所有符合规则的字符,返回一个列表,下面是其中一页的匹配结果