我们的任务 :抓取网页内容
1.用户指定url
2.获取所有的文章的文字
urllib的request模块可以非常方便地抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应
Python通过re模块提供对正则表达式的支持
from urllib import request
import re
用户输入指定的url
#地址 绑定(编程期间)
#user_url = "https://news.sina.com.cn/o/2018-12-25/doc-ihmutuee2352838.shtml"
#地址 由用户指定(使用期间)
print("请输入您想查看的url")
user_url = input()
请输入您想查看的url
https://www.cnblogs.com/ms-uap/p/9928254.html
获取网页html信息并转码
添加头信息,反爬虫策略
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}
req = request.Request(user_url, headers=headers)
with request.urlopen(req) as f:
data = f.read()
data_web = data.decode("utf-8")
我们需要url的标题以及文章进行分析。
提取title标签的正则表达式 我的匹配代码
title = re.findall('<title.*?>(.*?[\u4e00-\u9fa5]*?.*?)</title>', data_web)
for line in title:
print(line)
系列之1-神经网络的基本工作原理 - UniversalAIPlatform - 博客园
提取p标签的正则表达式 我的匹配代码
article = re.findall('<p.*?>(.*?[\u4e00-\u9fa5]*?.*?)</p>', data_web)
for line in article:
print(line)