zoukankan      html  css  js  c++  java
  • beautifulsoup,正则,lxml,提取页面数据

    # -*- coding: utf-8 -*-
    import re
    from urllib.request import urlopen
    from urllib.request import Request
    from bs4 import BeautifulSoup
    from lxml import etree

    #添加模拟浏览器协议头
    headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
    url = "http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%8C%97%E4%BA%AC&kw=python&sm=0&p=1"
    req_timeout = 5
    req = Request(url=url,headers=headers)
    f = urlopen(req,None,req_timeout)
    s = f.read()
    s = s.decode('utf-8')

    ss = str(s)

    #lxml提取
    selector = etree.HTML(ss)
    links = selector.xpath('//tr/td[@class="zwmc"]/div/a/@href|//tr/td[@class="zwmc"]/div/a/text()')
    for link in links:
    print(link)
    '''
    #beautifulsoup提取
    soup = BeautifulSoup(ss,'html.parser')
    aList = soup.find_all("tr")
    for item in aList:
    aList1 = item.find_all("a")
    for item1 in aList1:
    print(item1.get('href'))
    print(item1.get_text())
    break
    #print(item)
    #print(item.get('href'))
    #print(item.get_text())
    '''

    #正则提取
    '''
    mm = re.findall('<div style=" 224px;* 218px; _200px; float: left"><a style="font-weight: bold" par="(.*)" href="(.*)" target="_blank">(.*)</a>',ss)

    print(mm)
    '''

  • 相关阅读:
    set, unordered_set模板类
    C/C++ Bug记录
    win10远程连接
    C/C++缓冲区刷新问题
    hihocoder1711 评论框排版[并查集+set]
    makefile
    Virtual Table
    粤语
    xilinx SDK开发 GPIO使用API总结
    基于zynq 7020的串口UART中断实验
  • 原文地址:https://www.cnblogs.com/MRASdoubleZ/p/7868070.html
Copyright © 2011-2022 走看看