利用正则表达式(.*?)组合抓取#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]))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值