Python入门程序-

一、爬虫
万维网(WWW)的快速发展带来了大量获取和提交网络信息的需求,这产生了“网络爬虫”等一系列应用。Python 语言提供了很多类似的函数库,包括urllib、urllib2、urllib3、wget、scrapy、requests 等。这些库作用不同、使用方式不同、用户体验不同。对于爬取回来的网页内容,可以通过re(正则表达式)、beautifulsoup4等函数库来处理。
网络爬虫应用一般分为两个步骤:(1)通过网络连接获取网页内容(2)对获得的网页内容进行处理。本节课主要学习对应这两个步骤的urllib.request和re(正则表达式)、beautifulsoup4框架。
二、urllib.requset库的使用
urllib.request 模块提供了最基本的构造 HTTP 请求的方法,利用它可以模拟浏览器的一个请求发起过程,同时它还带有处理 authenticaton (授权验证), redirections (重定向), cookies (浏览器Cookies)以及其它内容。
import urllib.request
response = urllib.request.urlopen(“https://www.baidu.com”)
print(response.read().decode(“utf-8”))

三、正则表达式
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。
具体详情介绍:https://www.runoob.com/regexp/regexp-intro.html。

^ 为匹配输入字符串的开始位置。
[0-9]+匹配多个数字, [0-9] 匹配单个数字,+ 匹配一个或者多个。
abc 匹 配 字 母 a b c 并 以 a b c 结 尾 , 匹配字母 abc 并以 abc 结尾, abcabc 为匹配输入字符串的结束位置。
右键查看源代码、审查元素(F12)
在线正则表达式测试:https://tool.oschina.net/regex/#。
正则表达式 r = r” “

四、beautifulsoup4 库
HTML 建立的Web 页面一般非常复杂,除了有用的内容信息外,还包括大量用于页面格式的元素,直接解析一个Web 网页需要深入了解HTML 语法,而且比较复杂。beautifulsoup4 库将专业的Web 页面格式解析部分封装成函数,提供了若干有用且便捷的处理函数。
创建的BeautifulSoup 对象是一个树形结构,它包含HTML 页面里的每一个Tag(标签)元素,如、等。具体来说,HTML 中的主要结构都变成了BeautifulSoup 对象的一个属性,可以直接用.形式获得,其中的名字采用HTML 中标签的名字。

安装第三方库:
豆瓣:https://pypi.douban.com/simple
阿里云:https://mirrors.aliyun.com/pypi/simple
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple
语法结构:pip install -i https://pypi.douban.com/simple beautifulsoup4
五、简单网站数据爬取
网址链接:https://www.i4.cn/wper_1_0_0_1.html

print("正则表达爬取数据")
import urllib.request
import re
name=1
html=urllib.request.urlopen("https://www.i4.cn/wper_23_0_0_1.html")
data=html.read()
r=r"[a-zA-z]+://[^\s]*.jpg"
pat=re.compile(r)
imgs=re.findall(pat,str(data))
del imgs[-5:]
for i in imgs:
    urllib.request.urlretrieve(i,"img/%s.jpg"%name)
    print("完成第%s张壁纸下载"  % name)
    name+=1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值