美文网首页
解析网页常用的三种方式

解析网页常用的三种方式

作者: AlastairYuan | 来源:发表于2018-11-21 18:57 被阅读0次

一、scrapy 框架

info1 = response.xpath('//div[contains(@class,"store-info blk blk-reg")]/div//text()').extract()



二、selenium 框架 抓取动态网页打开浏览器

 browser = webdriver.Chrome() 

 divcon = browser.find_element_by_xpath('//div[@class="pagehero__content"]')



三、etree 解析网页,不使用框架或者读取本地html文件 (在实际工作中,如果项目较小或者网站是动态网站,优先选择这个,可把精力放在理解项目上,有效避免网络问题)

html = etree.HTML(htmlContent)

itemlist= html.xpath('//div[@class="box--list"]/div[@class="box--list-item"]')

封装了3个方法

def etreeWebElemToOuterHTML(webitem):

    outerHTML = etree.tostring(webitem)

    outerHTML = outerHTML.decode('utf-8')

    return outerHTML

def etreeWebElemGetAttributeValue(webitem, attributeid):

    return webitem.get(attributeid)

def loadpage(filepath, pagename):

    try:

        pagepath = filepath +'//' + pagename +'.html'

        htmlf =open(pagepath,'r',encoding="utf-8")

        htmlContent = htmlf.read()

    return htmlContent

    except Exception as excpt:

        print(excpt)

        logging.error('........................loadpage....:' + pagename)

    return ''

def savepage(browser, filepath, pagename):

    try:

        textContent = browser.find_element_by_xpath('//html').get_attribute('outerHTML')

        str_utf8 = textContent.encode("UTF-8")

        textContent = str_utf8.decode('UTF-8','strict')

        pagepath = filepath +'//'+ pagename +'.html'

        fp =open(pagepath,"w",encoding='UTF-8');

    fp.write(textContent);

        fp.close()

    except Exception as excpt:

        print(excpt)


四、beautifulsoup (暂时还没用到)



1. 使用python的logging模块 记录爬虫错误

2. 使用 try-except 让爬虫更健壮

  try 

       # code

  except Exception as exx:

           logging.error('.............error found!..............')

相关文章

  • 解析网页常用的三种方式

    一、scrapy 框架 info1 = response.xpath('//div[contains(@class...

  • [MyBatis源码详解 - 解析器模块 - 组件一] XNod

    一、功能   常用的解析XML的方式有三种,详见:Java解析xml的三种方式,其中最常用的是DOM,在DOM中每...

  • XML 解析

    XML三种解析方式: 下面简单说明下三种解析方式的使用 XML文件 新建xml文件food.xml 三种解析方式 ...

  • Jsoup解析HTML基础用法

    Jsoup可以解析网络和本地HTML,常用一般为通过网址解析网页,解析网页可以通过get和post方法获取网页内容...

  • Android XML解析的三种方式

    导航 XML的三种解析方式 json全面解析和使用 Gson官方推荐的json解析方式 三种解析XML方法的比较 ...

  • xml几种解析

    xml解析方式一般分为三种解析方式,下面通过一段xml,使用三种方式解析,首先来看下要解析的xml: 这是两个段落...

  • iOS UIWebView 详解

    一、初始化与三种加载方式 第一种 这是加载网页最常用的一种方式,通过一个网页URL来进行加载,这个URL可以是远程...

  • 爬虫基础之CSS学习不完全总结

    简单学习一下:HTML中,常用的布局方式有三种:标准流、浮动、定位。 标准流是网页中默认的布局方式,即顺序布局。 ...

  • 爬虫 - python + selenium + webdriv

    一、爬虫读取网页上table(表格)三种方法 读取网页,直接解析html,读取table。 读取网页,用panda...

  • 前端开发入门到实战:浏览器的三种Js弹窗方式

    在做网页时,常常使用弹窗,以上就是浏览器的三种弹窗方式: 1: alert 在测试时常用2: confirm 可...

网友评论

      本文标题:解析网页常用的三种方式

      本文链接:https://www.haomeiwen.com/subject/duxhqqtx.html