zoukankan      html  css  js  c++  java
  • Beautiful Soup解析网页

    使用前步骤:

      1.Beautiful Soup目前已经被移植到bs4,所以导入Beautiful Soup时先安装bs4库。

      2.安装lxml库:如果不使用此库,就会使用Python默认的解析器,而lxml具有功能更加强大、速度更快的特点。 

    爬取:http://www.cntour.cn/

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author:XXC
    import requests
    from bs4 import BeautifulSoup
    import re
    
    url="http://www.cntour.cn/"  #需要爬取的网址
    strhtml = requests.get(url);    #使用GET方式,获取网页数据
    
    soup = BeautifulSoup(strhtml.text,'lxml') #HTML文档将被转换成Unicode
    # 编码格式,然后BeautifulSoup选择最适合的解析器来解析文档,此处指定
    # lxml解析器,解析后转换成属性结构,每个节点都是Python对象,保存在变量soup中
    data = soup.select('#main > div > div.mtop.firstMod.clearfix > div.centerBox > ul.newsList > li > a') #采用select选择器定位数据
    for item in data: #数据清洗和组织数据
        result = {
            'title':item.get_text(), #获得a标签的文本内内容
            'link':item.get('href'), #获得a标签的href属性
            'ID':re.findall('d+',item.get('href')) #使用正则匹配其中的数字,d匹配数字,+匹配一个字符一次或多次
        }
        print(result)

    结果:

     

  • 相关阅读:
    内存碎片
    内核对象之异步IO请求完成时调用一个函数
    线程池之在内核对象触发时调用一个对象
    线程池之每隔一段时间调用一个函数
    线程池
    logging模块
    装饰器
    django 2.0 url匹配
    django models 文件夹
    转载
  • 原文地址:https://www.cnblogs.com/alex-xxc/p/9766190.html
Copyright © 2011-2022 走看看