利用正则表达式(.*?)组合抓取#CSDN博客信息

应用的正则表达式函数re.findall,元字符 . * ?
抓取网页使用的模块requests
抓取情况
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200229164935551.png
代码

#!/usr/bin/python
# coding: UTF-8

import requests
import re

link = "https://blog.csdn.net/muchong123"
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}

r = requests.get(link, headers = headers)

pattern_info = re.compile(r".*原创.*\"count\">(.*?)<.*粉丝.*\"fan\">(.*?)<.*获赞.*\"count\">(.*?)<.*评论.*\"count\">(.*?)<.*访问.*\"count\">(.*?)<.*", re.S)

pattern_standing = re.compile(r".*等级:.*title=\"(.*?),.*周排名:.*?_blank\">.*?(\S+).*?</a>.*?积分:.*?>.*?(\d+).*?</dd>.*总排名:.*?target=\"_blank\">.*?(\S+).*?</a>.*", re.S)

csdn_info = pattern_info.findall(r.text)
standing_list = pattern_standing.findall(r.text)

for item in csdn_info:
    print("基本信息:\n原创:%s\n粉丝:%s\n获赞:%s\n评论:%s\n访问:%s\n" % (item[0], item[1],item[2], item[3], item[4]))
    
for item in standing_list:
    print("排名等级:\n等级:%s\n周排名:%s\n积分:%s\n总排名:%s" % (item[0], item[1], item[2], item[3]))
发布了45 篇原创文章 · 获赞 38 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/muchong123/article/details/104577145