文章目录

  • 七、Python简单爬虫
    • 1.重要知识与技能
    • 2.使用re表达式抓取网页文件
    • 3.使用requests抓取网页
    • 4.使用re正则表达式提取数据
    • 5.使用xPath工具提取数据
    • 6.使用BeautifulSoup工具

七、Python简单爬虫

1.重要知识与技能

重要知识与技能:

  1. 使用HTML与CSS制作网页文件
  2. 使用re正则表达式抓取网页文件
  3. 使用requests获取网站内容
  4. 使用re正则表达式提取数据
  5. 使用xPath工具提取数据
  6. 使用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(简单爬虫)相关推荐

  1. Python学习笔记--变量和简单数据类型

    hello world print("hello world") 变量 添加了一个名为message 的变量 ,每个变量都存储了一个值,在这里,存储的值为文本"Hello ...

  2. Python学习笔记-Turtle库简单实例之日期时间显示

    Python语言包含有不少图形工具包,强如Tkinter,底层如python的内置图形库Graphics和Turtle.Turtle库就是通过控制屏幕上小乌龟的移动轨迹绘制图形,本文的一系列操作主要和 ...

  3. Python学习笔记(11) 如何用爬虫完整抓取搜狐新闻文章?

    一.操作步骤 今天教大家抓取搜狐的新闻文章,重点讲解怎么抓取到完整的正文内容,怎么批量抓取到更多新闻,方法是通用的,大家可以应用到其他新闻网站的抓取,总体操作步骤如下: 二.案例+操作步骤 采集规则: ...

  4. Python学习笔记(28)~爬虫基础学习:伪装

    伪装 作用:伪装成真实用户向服务器发起请求.因为有一些网站知道你是爬虫,会拒绝访问. 向豆瓣(douban.com)发起请求(直接,不伪装) Demo #!/usr/bin/python3 impor ...

  5. python爬虫之b站视频下载(python学习笔记)

    b站视频爬取(python学习笔记) 亲爱的b站自从在2020年3月23日将av号改为BV号后,之前的很多爬虫已经不能用了,暂时没看懂这操作的意义何在,反而一大串大小写英文字母加数字的BV号让人很难记 ...

  6. python学习笔记(一)Python 简单介绍

    Python学习笔记(一)Python 简单介绍 Python介绍 Python简介 Python应用领域 Python是解释型的语⾔ 编译和解释的区别是什么? 编译型vs解释型 编译型 解释型 Py ...

  7. Python 学习笔记 第三篇 Python实现网易云评论网页爬虫+词云展示 (Pycharm+Mysql)

    初始条件,具体可见我的其他文章. 1.安装Python.Python 学习笔记 第一篇 Python的安装与配置 2.安装Pycharm,并导入第三方包.Python 学习笔记 第二篇 Python ...

  8. Python学习笔记:常用内建模块7XML

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  9. PYTHON学习笔记之(一)2020.08

    PYTHON学习笔记之(一)2020.08 Python基础 数据类型 常见的列表.字典,以及元组.集合. 1 列表 list 1.1 列表转换字符串 stu = ['王一', '李二', '张三'] ...

  10. python学习笔记,初学者Python3

    Python学习笔记 不推荐将python作为主力语言,但推荐作为一个辅助语言,用于日常的一些小的任务 python目前主要的应用场景: 1.机器学习,人工智能 2.爬虫 3.数据分析 4.自动化,运 ...

最新文章

  1. 【tensorflow】OP_REQUIRES failed at variable_ops.cc:104 Already exists: Resource
  2. 2008.09.20三多寨
  3. 犀牛导出su文件错误插件错误_安利|一款免费插件blender-for-unrealengine
  4. VTK:Points之ExtractEnclosedPoints
  5. leetcode-20-有效的括号
  6. 《精通J2EE网络编程》中讲的JNDI 6.2 使用JNDI
  7. 不带缓存的I/O和标准(带缓存的)I/O
  8. android语言列表+波斯,Android 多语言入门及实战
  9. iphone短信尚未送达_第五期:从苹果 乔布斯 iPhone 说到张小龙 微信 理财通
  10. 重启VirtualBox里面的系统提示VT-x features locked or unavailable in MSR错误
  11. SQL安装过程中出现的错误解决
  12. 一般信道容量的计算方法
  13. 鬼压床、清明梦、外星劫持……睡眠麻痹症能够解释这些都市传说吗?
  14. vba程序的vb6封装_调试VBA和VB6应用程序
  15. Nebula Graph学习篇1_基础概念、初步使用、整合SpringBoot使用
  16. 译文推荐 | Apache BookKeeper 洞察系列(二)— 安全关闭 Ledger
  17. 敏捷团队︱数字化领导力之敏捷团队建设
  18. MachineLearning(Hsuan-Tien Lin)第一讲
  19. 华为铁三角:浅聊铁三角模式的角色边界
  20. 烤仔同传 | 揭秘,暴富梦笼罩下的打新灰产

热门文章

  1. ACL 2020 | 多跳问答的基于对齐的无监督迭代解释检索方法
  2. 动态规划-重叠区间2020.3.30
  3. 快速使用GitBook以及二级标题的设置
  4. 上传文件页面回显_数据回显、删除以及excel导出
  5. 【Java代码】坐标系说明+WGS84\GCJ02\BD09坐标系转换工具+Java坐标系转换及验证源代码分享(粘贴可用)
  6. MybatisPlus代码生成器配置
  7. 【大白话系列】深入浅出Cleaner+虚引用完成堆外内存的回收
  8. classpath和读取resources目录下的文件
  9. mysql百万级性能瓶颈-数据库选型
  10. Git——git push 错误[error: src refspec master does not match any]解决方案