zoukankan      html  css  js  c++  java
  • Python网络数据采集

    一、正则表达式

     *     表匹配0次或者多次  a*b*

    +    表至少一次

    [ ]   匹配任意一个

    ( )  辨识一个编组

    {m,n} m或者n 次

    [^]  匹配任意不在中括号里的字符

    |    表示或者

    .    表示匹配任意字符

    ^    表字符的开始 ^a  表示以a开始

       表示转义字符

    $  和^ 相反  从字符串的末尾开始匹配

    ?! 不包含

    二、获得属性

    获得一个标签的全部属性

    myTag.attrs

    获取图片的资源位置src

    myImgTag.attrs["src"]

    获取网页的函数:

    random.seed(datetime.datetime.now())
    def getLinks(articleUrl):
    html = urlopen("http://en.wikipedia.org"+articleUrl)
    bs0bj = BeautifulSoup(html)
    return bs0bj.find("div",{"id":"bodyContent"}).findAll("a",herf=re.compile("^(/wiki/)((?!:).)*$"))
    links = getLinks("/wiki/Kevin_Bacon")
    while len(links) > 0:
    newArticle = links[random.randint(0,len(links)-1)].attrs["href"]
    print(newArticle)
    link = getLinks(newArticle)

  • 相关阅读:
    虚拟机virtualBox
    在scala命令行中加入类库
    使用git submodule
    Julia1.x安装
    texshop 使用技巧
    vimdiff换行
    双系统磁盘挂载失败
    www.wolframalpha.com
    sublime3激活方法
    实验数据
  • 原文地址:https://www.cnblogs.com/tyyhph/p/7582446.html
Copyright © 2011-2022 走看看