【Python】学习笔记总结7(简单爬虫)
文章目录
- 七、Python简单爬虫
- 1.重要知识与技能
- 2.使用re表达式抓取网页文件
- 3.使用requests抓取网页
- 4.使用re正则表达式提取数据
- 5.使用xPath工具提取数据
- 6.使用BeautifulSoup工具
七、Python简单爬虫
1.重要知识与技能
重要知识与技能:
- 使用HTML与CSS制作网页文件
- 使用re正则表达式抓取网页文件
- 使用requests获取网站内容
- 使用re正则表达式提取数据
- 使用xPath工具提取数据
- 使用BeautifulSoup工具
2.使用re表达式抓取网页文件
import re
myFile = open('Index.html','r',encoding='UTF-8')
myContent = myFile.read()
myFile.close()
#myPatten = "<li>(.*)</li>"
myPatten2 = "([a-zA-Z0-9_\.-]+@[a-zA-Z0-9_-]+(?:\.[a-zA-Z0-9_-]+)+)"
mylist = re.findall(myPatten2,myContent)
print(mylist)
3.使用requests抓取网页
import requests
myURL = 'https://www.3dmgame.com'
myContent = requests.get(myURL).content.decode('UTF-8')
4.使用re正则表达式提取数据
def Get3DMNews_WithRE():'''得到3DM网站的新闻内容:return: 获取的新闻内容'''import requestsimport remyURL = 'https://www.3dmgame.com'myContent = requests.get(myURL).content.decode('UTF-8')myPartten = '<a href="(.*)" target="_blank" >(.*)</a>\n <span>(.*)</span>'myList = re.findall(myPartten,myContent)for item in myList :myNews = {}myNews['title'] = item[0]myNews['herf'] = item[1]myNews['time'] = item[2]print(myNews)passpass
5.使用xPath工具提取数据
def Get3DMNews_WithXPATH():'''得到3DM网站的新闻内容:return: 获取的新闻内容'''import requestsfrom lxml import htmlmyURL = 'https://www.3dmgame.com'myContent = requests.get(myURL).content.decode('UTF-8')etree = html.etreeeTreeHtml = etree.HTML(myContent)myList = eTreeHtml.xpath("//li")for item in myList :myNews = {}myNews['title'] = item.xpath('./a')[0].textmyNews['herf'] = item.xpath('./a/@href')[0]myNews['time'] = item.xpath('./span')[0].textprint(myNews)passpass
6.使用BeautifulSoup工具
def Get3DMNews_WithBeautifulSoup():'''得到3DM网站的新闻内容:return: 获取的新闻内容'''import requestsfrom bs4 import BeautifulSoupmyURL = 'https://www.3dmgame.com'myContent = requests.get(myURL).content.decode('UTF-8')bsHtml = BeautifulSoup(myContent,'html5lib')myList = bsHtml.find_all('div')[10].find_all('div')[8].find_all('div')[91].find_all('li')for item in myList :myNews = {}myNews['title'] = item.find('a').get_text()myNews['herf'] = item.find('a').get('href')myNews['time'] = item.find('span').get_text()print(myNews)passpass
【Python】学习笔记总结7(简单爬虫)相关推荐
- Python学习笔记--变量和简单数据类型
hello world print("hello world") 变量 添加了一个名为message 的变量 ,每个变量都存储了一个值,在这里,存储的值为文本"Hello ...
- Python学习笔记-Turtle库简单实例之日期时间显示
Python语言包含有不少图形工具包,强如Tkinter,底层如python的内置图形库Graphics和Turtle.Turtle库就是通过控制屏幕上小乌龟的移动轨迹绘制图形,本文的一系列操作主要和 ...
- Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?
一.操作步骤 今天教大家抓取搜狐的新闻文章,重点讲解怎么抓取到完整的正文内容,怎么批量抓取到更多新闻,方法是通用的,大家可以应用到其他新闻网站的抓取,总体操作步骤如下: 二.案例+操作步骤 采集规则: ...
- Python学习笔记(28)~爬虫基础学习:伪装
伪装 作用:伪装成真实用户向服务器发起请求.因为有一些网站知道你是爬虫,会拒绝访问. 向豆瓣(douban.com)发起请求(直接,不伪装) Demo #!/usr/bin/python3 impor ...
- python爬虫之b站视频下载(python学习笔记)
b站视频爬取(python学习笔记) 亲爱的b站自从在2020年3月23日将av号改为BV号后,之前的很多爬虫已经不能用了,暂时没看懂这操作的意义何在,反而一大串大小写英文字母加数字的BV号让人很难记 ...
- python学习笔记(一)Python 简单介绍
Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...
- Python 学习笔记 第三篇 Python实现网易云评论网页爬虫+词云展示 (Pycharm+Mysql)
初始条件,具体可见我的其他文章. 1.安装Python.Python 学习笔记 第一篇 Python的安装与配置 2.安装Pycharm,并导入第三方包.Python 学习笔记 第二篇 Python ...
- Python学习笔记:常用内建模块7XML
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- PYTHON学习笔记之(一)2020.08
PYTHON学习笔记之(一)2020.08 Python基础 数据类型 常见的列表.字典,以及元组.集合. 1 列表 list 1.1 列表转换字符串 stu = ['王一', '李二', '张三'] ...
- python学习笔记,初学者Python3
Python学习笔记 不推荐将python作为主力语言,但推荐作为一个辅助语言,用于日常的一些小的任务 python目前主要的应用场景: 1.机器学习,人工智能 2.爬虫 3.数据分析 4.自动化,运 ...
最新文章
- 【tensorflow】OP_REQUIRES failed at variable_ops.cc:104 Already exists: Resource
- 2008.09.20三多寨
- 犀牛导出su文件错误插件错误_安利|一款免费插件blender-for-unrealengine
- VTK:Points之ExtractEnclosedPoints
- leetcode-20-有效的括号
- 《精通J2EE网络编程》中讲的JNDI 6.2 使用JNDI
- 不带缓存的I/O和标准(带缓存的)I/O
- android语言列表+波斯,Android 多语言入门及实战
- iphone短信尚未送达_第五期:从苹果 乔布斯 iPhone 说到张小龙 微信 理财通
- 重启VirtualBox里面的系统提示VT-x features locked or unavailable in MSR错误
- SQL安装过程中出现的错误解决
- 一般信道容量的计算方法
- 鬼压床、清明梦、外星劫持……睡眠麻痹症能够解释这些都市传说吗?
- vba程序的vb6封装_调试VBA和VB6应用程序
- Nebula Graph学习篇1_基础概念、初步使用、整合SpringBoot使用
- 译文推荐 | Apache BookKeeper 洞察系列(二)— 安全关闭 Ledger
- 敏捷团队︱数字化领导力之敏捷团队建设
- MachineLearning(Hsuan-Tien Lin)第一讲
- 华为铁三角:浅聊铁三角模式的角色边界
- 烤仔同传 | 揭秘,暴富梦笼罩下的打新灰产
热门文章
- ACL 2020 | 多跳问答的基于对齐的无监督迭代解释检索方法
- 动态规划-重叠区间2020.3.30
- 快速使用GitBook以及二级标题的设置
- 上传文件页面回显_数据回显、删除以及excel导出
- 【Java代码】坐标系说明+WGS84\GCJ02\BD09坐标系转换工具+Java坐标系转换及验证源代码分享(粘贴可用)
- MybatisPlus代码生成器配置
- 【大白话系列】深入浅出Cleaner+虚引用完成堆外内存的回收
- classpath和读取resources目录下的文件
- mysql百万级性能瓶颈-数据库选型
- Git——git push 错误[error: src refspec master does not match any]解决方案