数据来源网站:2016中国企业500强排行榜(完整名单)→买购网 (maigoo.com)

参考资料:python3 爬取网页表格例子_快乐糖果屋的博客-CSDN博客

右键数据部分,选择检查

观察到需要的数据的父节点包含关键字'mod_table table1 fcolor30',而子节点中包含了'td'的项都是要爬取的内容,故可得出XPath路径表达式为:

//table[contains(@class, 'mod_table table1')]//td/text()"

完整代码:

from lxml import html  
import requests  
import csv

打包访问函数:

def check_link(url):  
    try:            
        r = requests.get(url)
        r.encoding = "utf-8"
        r.raise_for_status()  
        r.encoding = r.apparent_encoding  
        return r.text  
    except:  
        print('无法链接服务器!!!')

打包爬取函数。这里如果用了上面所写的xpath路径的话,最后输入到表格中会呈现一个字一格的奇怪现象,故观察网页源代码后对路径稍作修改(注释是另一种写法):

def get_contents(ulist,rurl):   
    tree = html.fromstring(rurl)
    trs = tree.xpath("//table[contains(@class, 'mod_table table1')]//tr")
    for tr in trs:  
        ui = tr.xpath("./td/text()")
#         ui = []
#         tr1 = tr.xpath("./td")
#         for td in tr1:  
#             ui.append(td.text)  
        ulist.append(ui)

将数据输入csv表格中(注释是另一种写法):

def save_contents(urlist):
    try:  
        with open("test.csv",'w') as f:  
            writer = csv.writer(f)  
            writer.writerow(['2016年中国企业500强排行榜'])  
            writer.writerows(urlist)
#             for row in urlist:
#                 writer.writerow(row)
    except:
        pass

定义主函数:

def main():  
    urli = []  
    url = "http://www.maigoo.com/news/463071.html"  
    rs = check_link(url)  
    get_contents(urli,rs)  
    save_contents(urli)

main()

python3爬取网页数据学习笔记——XPath篇相关推荐

  1. python3和burpsuite组合爬取网页数据并存储在excel表格(需要登录后才能看到的大量数据)

    python3和burpsuite组合爬取网页数据并存储在excel表格 作者:ch4nge 时间:2020.12.18 前言 最近在工作中遇到一个问题:渗透进入某网站后台,发现大量的用户数据(某恶意 ...

  2. python爬取网页汉字_程序小技巧:Python3借助requests类库3行代码爬取网页数据!快来...

    爬取网页数据是python很长干的一件事情,不过做起来基本上都是很冗长的一段代码,看起来复杂,不宜理解.今天给大家分享一个小诀窍,利用python3中的requests类库进行爬取网页数据. 我们先看 ...

  3. python爬虫教程:实例讲解Python爬取网页数据

    这篇文章给大家通过实例讲解了Python爬取网页数据的步骤以及操作过程,有兴趣的朋友跟着学习下吧. 一.利用webbrowser.open()打开一个网站: >>> import w ...

  4. 如何用python爬取网页数据,python爬取网页详细教程

    大家好,本文将围绕python怎么爬取网站所有网页展开说明,如何用python爬取网页数据是一个很多人都想弄明白的事情,想搞清楚python如何爬取网页数据需要先了解以下几个事情. 1.如何用Pyth ...

  5. java爬取网页数据_利用Python做数据分析—对前程无忧数据类岗位进行分析

    引言 随着时代的发展,我国在各行各业都需要大量的人才引进,处于近几年最热门的行业也称"最火行业":大数据.数据分析.数据挖掘.机器学习.人工智能,这五门行业各有不同又互有穿插.近几 ...

  6. pycharm查看html页面,pycharm爬取网页数据

    1 python环境的配置 1.1 安装python文件包,放到可以找到的位置 1.2 右键计算机->属性->高级环境设置->系统变量->Path->编辑->复制p ...

  7. 使用webdriver+urllib爬取网页数据(模拟登陆,过验证码)

    urilib是python的标准库,当我们使用Python爬取网页数据时,往往用的是urllib模块,通过调用urllib模块的urlopen(url)方法返回网页对象,并使用read()方法获得ur ...

  8. Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索

    Jsoup:用Java也可以爬虫,怎么使用Java进行爬虫,用Java爬取网页数据,使用Jsoup爬取数据,爬虫举例:京东搜索 一.资源 为什么接下来的代码中要使用el.getElementsByTa ...

  9. python爬取网页公开数据_如何用Python爬取网页数据

    使用Python爬取网页数据的方法: 一.利用webbrowser.open()打开一个网站:>>> import webbrowser >>> webbrowse ...

最新文章

  1. 2020 年,Linux 设备或将爆炸式增长
  2. python 类型之 set
  3. ajax请求获取服务器数据,jquery.ajax发布从app引擎服务器获取数据的请求
  4. ES6中 Map 数据结构
  5. 教你如何做到显示 Dialog Box(对话框)
  6. Android中SQLite,ContentProvider和ContentResolver的使用(一)
  7. php pdf打印横向,如何将pdfFactory打印调整为横向 - 应用技巧 - 常青藤软件工作室...
  8. 常见免费邮箱 SMTP 服务地址及端口
  9. Android学习之ExpandableListView
  10. axure如何导出原件_axure怎么导出为pdf格式
  11. 用 js判断 一个数是否是素数(质数)_js 基础算法题(二)
  12. Mac谷歌浏览器添加JSONView的插件以提高开发的效率
  13. 简单实用的查询ip地址、mac地址,修改ip地址的方法,ping命令检测网络是否通畅
  14. 为做了面向互联网部署(IFD)的Dynamics 365定制登录账号格式
  15. 企业证书打包ipa文件(图文详解)
  16. STM32L431之SPI从模式使用DMA时数据偏移3个字节
  17. 不要因为不知,所以设计
  18. 祖冲之号超导量子计算机,超导量子计算原型机“祖冲之号”有多强?带你了解“量子世界”...
  19. 我最近学python_我要偷偷的学Python,然后惊呆所有人(第十六天)
  20. CLRS 16.1活动选择问题

热门文章

  1. background-color和bgColor用法上区别
  2. 手眼标定(二):Tsai 求解方法
  3. W10系统matlab无法保存对该路径的更改 pathdef_DMS系统一周常见问题
  4. python壁纸数据抓取软件_python应用:Python 爬取必应壁纸
  5. BootStrap(栅格系统)
  6. 2022年考研「怪」象:国家分数线全面上升,部分院校的计算机类复试线却不增反降?...
  7. 完全背包变式 一本通 1293:买书
  8. 为什么建议大牛都喜欢用 Linux 开发?
  9. 用WinForm做一个简单的计算器
  10. hdu 4597 Play Game(区间dp)