爬虫总结1

爬虫是在今天大数据时代,数据的主要来源之一,数据是模型训练的先决条件,如何高质量的获取网页上的信息,可以采用爬虫来进行,

前提知识是具有基本的html知识,可以在浏览器的开发者模式中找到标签的位置。

目前常用的有一下几种模块和工具进行爬虫,

正则表达式

xpath

beautifulsoup等

以博客园为例:爬取博客园中的小标题,摘要,发表时间,阅读数,评论数,推荐数等关键信息指标。

 第一步在F12开发者模式中找到所找标签对应的位置;

其次根据正则表达式进行查询


import re
import requests
#分为三步
#第一步:返回一个网页内容
#第二部,在网页的内容找到对应标签的内容
#第三步,写执行函数

def one_page(url):
	#头部标签
	headers = {
		'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
	
	}
	response= requests.get(url,headers=headers)
	if response.status_code == 200:
		# print(response.text)
		return response.text
	else:
		return None
def get_parse_onepage(html):
	str_text = html.replace("\n", "")
	blogs = re.findall(r'<div class="day">(.*?)编辑',str_text)
	# blogs = re.findall(r'<div class="day">(.*?)编辑', str_text)  ###把握总体
	print(blogs)
	for blog in blogs:
		title = re.findall(r'<span>(.+?)</span>',blog)
		date = re.findall(r'<div class="dayTitle">.*?>(\w+?)</a>',blog)
		read = re.findall(r'阅读\((\w+)\)',blog)
		comment = re.findall(r'评论\((.*?)\)', blog)
		recommend = re.findall(r'推荐\((.*?)\)', blog)
		print(list(zip(title,date,read,comment,recommend)))
		strs = '\t'.join(list(zip(title, date, read, comment, recommend))[0]).replace(' ', '')
		with open('博客园数据.txt', 'a', encoding='utf-8') as f:
			f.write(strs + '\n')






	
if __name__ == '__main__':
	
	urls = ['https://www.cnblogs.com/pinard/default.html?page={}'.format(page) for page in range(1,15)]
	for url in urls:
		html = one_page(url)
		# print(html)
		# get_parse_onepage(html)
		get_parse_onepage(html)

2.根据xpath进行查询:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值