mofanpy01

01

简易爬源码

使用python登录网站以后打印出源代码
由于老师提供的链接存在中文,read()以后需要进行decode('utf-8')进行中文转换。

from urllib.request import urlopen
#如有中文,请decode()
html = urlopen("https://mofanpy.com/static/scraping/basic-structure.html").read().decode('utf-8')
#获取html进行read(),并且使用decode()进行lang转换
print(html)

print出来的结果如下

<!DOCTYPE html>
<html lang="cn">
<head>
	<meta charset="UTF-8">
	<title>Scraping tutorial 1 | 莫烦Python</title>
	<link rel="icon" href="/static/img/description/tab_icon.png">
</head>
<body>
	<h1>爬虫测试1</h1>
	<p>
		这是一个在 <a href="/">莫烦Python</a>
		<a href="/tutorials/data-manipulation/scraping/">爬虫教程</a> 中的简单测试.
	</p>

</body>
</html>
匹配网页内容

使用python的正则表达式RegEx进行匹配文字,筛选信息。
选好需要筛选的tag名称,此处为<title></title>进行正则匹配。

import re
res = re.findall(r"<title>(.+?)</title>",html)
print("\nPage title is:",res[0])

print出来的结果如下

Page title is: Scraping tutorial 1 | 莫烦Python

因为文中夹杂着其他标签,需要使python对其他的标签不敏感,故需要添加flags = re.DOTALL

res = re.findall(r"<p>(.*?)</p>",html,flags=re.DOTALL)
print("\nPage paragraph is :",res[0])

print出来的结果如下

Page paragraph is : 
		这是一个在 <a href="/">莫烦Python</a>
		<a href="/tutorials/data-manipulation/scraping/">爬虫教程</a> 中的简单测试.
	

alllink

res = re.findall(r'href="(.*?)"',html)
linkall = ",https://mofanpy.com".join(res)
print("\nAll links: ", linkall,)

print

All links:  /static/img/description/tab_icon.png,https://mofanpy.com/,https://mofanpy.com/tutorials/data-manipulation/scraping/
个人总结
1)根据需求插件进行import;
2)填写html路径,根据source code分析是否需要进行lang转换;
3)使用正则表达式RegEx进行所获取的信息筛选。

所学教程传送门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值