一:

1.获取当前页的课程名称,地址:https://www.ichunqiu.com/courses/webaq

2.选取其中一门课程名称查看源代码:

代码如下:

<p class="coursename" title="Kaltura 远程代码执行漏洞(CVE-2017-14143)" onclick="javascript:window.open

3.正则表达式获取课程名称:

#coding=utf-8
import re
html = '''
<!DOCTYPE html>
<html>
#此处为需要爬去页面的源代码
</html>
'''
title = re.findall(r'<p class="coursename" title="(.*?)" onclick',html)
print (title)

执行结果如下:页面所以课程名称获取到

遍历:

#coding=utf-8
import re
html = '''
<!DOCTYPE html>
<html>
#此处为需要爬去页面的源代码
</html>
'''
title = re.findall(r'<p class="coursename" title="(.*?)" onclick',html)
# print (title)
for i in  title:
    print(i)

效果如下:

二:urllib使用

(注:此处python为3.7,与2.x有点区别)

定制请求头:urllib.urlopen()

下载文件:urllib.urlretrieve()

1.向www.baidu.com发起请求:

import urllib.request   #导入urllib和urllib2库

url = urllib.request.urlopen('http://www.baidu.com') #定义一个地址
r = url.read() #用urlib向百度发起请求

print (r)#查看发起请求的内容

结果如下:

2.下载百度图片:

图片地址如下:

https://www.baidu.com/img/bd_logo1.png?where=super

代码:

urllib.request.urlretrieve('https://www.baidu.com/img/bd_logo1.png?where=super',filename='E:\\Pic\\python\\123.png')

效果如下,图片下载成功:

三:requests

1.window 下requests安装:

查看python路径:

下载requests:

pip install requests

示例:向url发起get请求

查看响应内容:

方法1:

响应内容
r.test

方法2:

二进制响应内容>>> print (r.content)
或
r.content

定制请求头:

url = 'http://www.baidu.con'
headers = {'content-type':'application/json'}
r = requests.get(url,headers=headers)

查看状态码:

r.status_code

查看响应头:

r.headers

查看Cookies:

r.cookies

timeout设置超时:

>>> requests.get('http://www.baidu.com',timeout=0.001)

【一】,python简单爬虫实现的更多相关文章

  1. Python简单爬虫入门三

    我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...

  2. Python简单爬虫入门二

    接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...

  3. GJM : Python简单爬虫入门(二) [转载]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  4. Python 简单爬虫案例

    Python 简单爬虫案例 import requests url = "https://www.sogou.com/web" # 封装参数 wd = input('enter a ...

  5. Python简单爬虫记录

    为了避免自己忘了Python的爬虫相关知识和流程,下面简单的记录一下爬虫的基本要求和编程问题!! 简单了解了一下,爬虫的方法很多,我简单的使用了已经做好的库requests来获取网页信息和Beauti ...

  6. Python简单爬虫

    爬虫简介 自动抓取互联网信息的程序 从一个词条的URL访问到所有相关词条的URL,并提取出有价值的数据 价值:互联网的数据为我所用 简单爬虫架构 实现爬虫,需要从以下几个方面考虑 爬虫调度端:启动爬虫 ...

  7. python简单爬虫一

    简单的说,爬虫的意思就是根据url访问请求,然后对返回的数据进行提取,获取对自己有用的信息.然后我们可以将这些有用的信息保存到数据库或者保存到文件中.如果我们手工一个一个访问提取非常慢,所以我们需要编 ...

  8. python 简单爬虫(beatifulsoup)

    ---恢复内容开始--- python爬虫学习从0开始 第一次学习了python语法,迫不及待的来开始python的项目.首先接触了爬虫,是一个简单爬虫.个人感觉python非常简洁,相比起java或 ...

  9. python 简单爬虫diy

    简单爬虫直接diy, 复杂的用scrapy import urllib2 import re from bs4 import BeautifulSoap req = urllib2.Request(u ...

  10. Python简单爬虫入门一

    为大家介绍一个简单的爬虫工具BeautifulSoup BeautifulSoup拥有强大的解析网页及查找元素的功能本次测试环境为python3.4(由于python2.7编码格式问题) 此工具在搜索 ...

随机推荐

  1. vue2.* 事件结合双向数据绑定、模块化以及封装Storage实现todolist 待办事项 已经完成 和进行中持久化 06

    ceshi.vue <template> <div id="app"> <input type='text' v-model='todo' @keyd ...

  2. macaca自动化初体验

     1.安装#cnpm i -g macaca-cli macaca-ios# Install Tools And Driver2.检查安装环境#macaca doctor ANT_HOME未设置,下载 ...

  3. leetcode 39. Combination Sum 、40. Combination Sum II 、216. Combination Sum III

    39. Combination Sum 依旧与subsets问题相似,每次选择这个数是否参加到求和中 因为是可以重复的,所以每次递归还是在i上,如果不能重复,就可以变成i+1 class Soluti ...

  4. python基础整理4——面向对象装饰器惰性器及高级模块

    面向对象编程 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 面向对象编程(Object Oriented Pro ...

  5. 在不升级 mysql 的情况下直接使用 mysql utf8 存储 超过三个字节的 emoji 表情

    由于现在数据库的版本是5.5.2,但是看网上说要直接存储emoji表情,需要升级到5.5.3然后把字符集设置为utf8mb4,但是升级数据库感觉属于敏感操作. 考虑了多久之后直接考虑使用正则来替换,但 ...

  6. C++反汇编代码分析–函数调用

    转载:http://shitouer.cn/2010/06/method-called/ 代码如下:#include “stdlib.h” int sum(int a,int b,int m,int ...

  7. 五、Delphi10.3通过REST单元使类和JSON数据互相转换

    一.我们定义一个简单的类 TPeople = class private FName: string; FScore: Integer; FAge: TDateTime; public propert ...

  8. Scala(二):元组、数组、映射

    元组:Tuple,不同类型值的聚集.将固定数量的项目组合在一起,以便它们可以作为一个整体传递. 与数组或列表不同,元组可以容纳不同类型的对象,但它们也是不可变的.元祖的实际类型取决于它的分量的类型,比 ...

  9. Detect Changes in Network Connectivity

    Some times you will need a mechanism to check whether changes to network occurring during running yo ...

  10. JQuery第二天——JQuery的DOM操作

    JQuery拥有隐式迭代和显式迭代 因为JQuery为类数组对象,可以使用手动遍历实现显式 .each():也可以使用 $("p").click(function(){ var t ...