zoukankan      html  css  js  c++  java
  • 爬虫基础一

    学习内容:

    1.爬虫基本原理

    2.urllib库基本使用

    3.正则表达式基础


    1.response响应状态

    200代表成功,301跳转,404找不到页面,502服务器错误

    2.解析方式:直接处理,Json解析,正则表达式,BeautifulSoup,PyQuery,XPath

    3.保存数据:纯文本,关系型数据库,非关系型数据库,二进制文件

    4.urllib库:python内置的HTTP库

    urllib.request  请求模块   urllib.error   异常处理模块

    urllib.parse  url解析模块

    5.响应方式:response.read().decode('utf-8')

    6.请求方式:

    from urllib import request,parse
    url='http://httpbin.org/post'
    headers={
    }
    dict={  
    'name':'Germey'
    }
    data = bytes(parse.urlencode(dict),encoding='utf8')
    req=request.Request(url=url,data=data,headers=headers,method='post')
    reponse=request.urlopen(req)
    print(response.read().decode('utf-8'))

    7.正则表达式

    常见匹配模式

    w  匹配字母数字及下划线

    W  匹配非字母数字下划线

    s  匹配任意空白字符

    S  匹配任意非空字符

    d  匹配任意数字

    D  匹配任意非数字

    A  匹配字符串开始

      匹配字符串结束,如果存在换行,只匹配到换行前的结束字符串

    z  匹配字符串结束

    最常规的匹配

    import re
    content = 'Hello 123 4567 World_This is a Regex Demo'
    print(len(content))
    result = re.match('^Hellosdddsd(4)sw{10}.*Demo$',content)
    print(result)
    print(result.group())
    print(result.span())

    运行结果:

     泛匹配

    import re
    content = 'Hello 123 4567 World_This is a Regex Demo'
    result = re.match('^Hello.*Demo$',content)
    print(result)

    匹配目标

    import re
    content = 'Hello 123 4567 World_This is a Regex Demo'
    result = re.match('^Hellos(d+)sWorld.*Demo$',content)
    print(result)
    print(result.group(1))
    print(result.span())

    re.search扫描整个字符串并返回第一个成功的匹配

    总结:为匹配方便,能用search就不要match

    re.findall  搜索字符串,以列表形式返回全部能匹配的子串

    re.sub  替换字符串中每一个匹配的子串后返回替换后的字符串

    import re
    content = 'Hello 123 4567 World_This is a Regex Demo'
    re.sub('d+','',content)

    re.compile  将正则字符串编译成正则表达式对象,将一个正则表达式编译成正则对象,以便于复用该匹配模式

  • 相关阅读:
    Eclipse 中生成帮助文档 (javadoc) 迎客
    网管利器:七大免费网络工具 迎客
    oracle 11g 学习笔记 10_27
    oracle 11g 学习笔记 10_29
    oracle 11g学习笔记 2012_10_22
    oracle 11g 学习笔记 2012_10_25(2)
    oracle 11g 学习笔记 10_26
    oracle 11g 学习笔记 2012_10_24(1)
    oracle 11g 学习笔记2012_10_23(2)
    oracle 11g 学习笔记 2012_10_25(a)
  • 原文地址:https://www.cnblogs.com/-2016/p/12210449.html
Copyright © 2011-2022 走看看