Python爬虫开发【第1篇】【beautifulSoup4解析器】

CSS 选择器:BeautifulSoup4

Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。

pip 安装:pip install beautifulsoup4

官方文档:http://beautifulsoup.readthedocs.io/zh_CN/v4.4.0

抓取工具 速度 使用难度 安装难度
正则 最快 困难 无(内置)
BeautifulSoup 最简单 简单
lxml 简单 一般

使用BeautifuSoup4爬腾讯社招页面

地址:http://hr.tencent.com/position.php?&start=10#a

 1 # bs4_tencent.py
 2
 3
 4 from bs4 import BeautifulSoup
 5 import urllib2
 6 import urllib
 7 import json    # 使用了json格式存储
 8
 9 def tencent():
10     url = ‘http://hr.tencent.com/‘
11     request = urllib2.Request(url + ‘position.php?&start=10#a‘)
12     response =urllib2.urlopen(request)
13     resHtml = response.read()
14
15     output =open(‘tencent.json‘,‘w‘)
16
17     html = BeautifulSoup(resHtml,‘lxml‘)
18
19 # 创建CSS选择器
20     result = html.select(‘tr[class="even"]‘)
21     result2 = html.select(‘tr[class="odd"]‘)
22     result += result2
23
24     items = []
25     for site in result:
26         item = {}
27
28         name = site.select(‘td a‘)[0].get_text()
29         detailLink = site.select(‘td a‘)[0].attrs[‘href‘]
30         catalog = site.select(‘td‘)[1].get_text()
31         recruitNumber = site.select(‘td‘)[2].get_text()
32         workLocation = site.select(‘td‘)[3].get_text()
33         publishTime = site.select(‘td‘)[4].get_text()
34
35         item[‘name‘] = name
36         item[‘detailLink‘] = url + detailLink
37         item[‘catalog‘] = catalog
38         item[‘recruitNumber‘] = recruitNumber
39         item[‘publishTime‘] = publishTime
40
41         items.append(item)
42
43     # 禁用ascii编码,按utf-8编码
44     line = json.dumps(items,ensure_ascii=False)
45
46     output.write(line.encode(‘utf-8‘))
47     output.close()
48
49 if __name__ == "__main__":
50    tencent()

原文地址:https://www.cnblogs.com/loser1949/p/9460821.html

时间: 2024-11-09 00:43:38

Python爬虫开发【第1篇】【beautifulSoup4解析器】的相关文章

Python爬虫教程-25-数据提取-BeautifulSoup4(三)

Python爬虫教程-25-数据提取-BeautifulSoup4(三) 本篇介绍 BeautifulSoup 中的 css 选择器 css 选择器 使用 soup.select 返回一个列表 通过标签名称:soup.select("title") 通过类名:soup.select(".centent") id 查找:soup.select("#name_id") 组合查找:soup.select("div #input_content

Python爬虫教程-24-数据提取-BeautifulSoup4(二)

Python爬虫教程-24-数据提取-BeautifulSoup4(二) 本篇介绍 bs 如何遍历一个文档对象 遍历文档对象 contents:tag 的子节点以列表的方式输出 children:子节点以迭代器形式返回 descendants:所有子孙节点 string:用string打印出标签的具体内容,不带有标签,只有内容 案例代码27bs3.py文件:https://xpwi.github.io/py/py%E7%88%AC%E8%99%AB/py27bs3.py # BeautifulS

Python爬虫开发

1. 语法入门 Python教程 2. 爬虫学习系列教程 1)宁哥的小站 https://github.com/lining0806/PythonSpiderNotes 2)Python爬虫开发 3)Python爬虫学习系列教程

Python爬虫开发【第1篇】【Json与JsonPath】

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用于进行数据交互的场景,比如网站前台与后台之间的数据交互. 官方文档:http://docs.python.org/library/json.html Json在线解析网站:http://www.json.cn/# JSON json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表

Python爬虫开发【第1篇】【动态HTML、Selenium、PhantomJS】

JavaScript JavaScript 是网络上最常用也是支持者最多的客户端脚本语言.它可以收集用户的跟踪数据,不需要重载页面直接提交表单,在页面嵌入多媒体文件,甚至运行网页游戏. 我们可以在网页源代码的<scripy>标签里看到,比如: <script type="text/javascript" src="https://statics.huxiu.com/w/mini/static_2015/js/sea.js?v=201601150944&quo

Python爬虫-抓取网页数据并解析,写入本地文件

之前没学过Python,最近因一些个人需求,需要写个小爬虫,于是就搜罗了一批资料,看了一些别人写的代码,现在记录一下学习时爬过的坑. 如果您是从没有接触过Python的新手,又想迅速用Python写出一个爬虫,那么这篇文章比较适合你. 首先,我通过: https://mp.weixin.qq.com/s/ET9HP2n3905PxBy4ZLmZNw 找到了一份参考资料,它实现的功能是:爬取当当网Top 500本五星好评书籍 源代码可以在Github上找到: https://github.com/

爬虫笔记(四)------关于BeautifulSoup4解析器与编码

前言:本机环境配置:ubuntu 14.10,python 2.7,BeautifulSoup4 一.解析器概述 如同前几章笔记,当我们输入: soup=BeautifulSoup(response.body) 对网页进行析取时,并未规定解析器,此时使用的是python内部默认的解析器“html.parser”. 解析器是什么呢? BeautifulSoup做的工作就是对html标签进行解释和分类,不同的解析器对相同html标签会做出不同解释. 举个官方文档上的例子: BeautifulSoup

Python爬虫爬取一篇韩寒新浪博客

网上看到大神对Python爬虫爬到非常多实用的信息,认为非常厉害.突然对想学Python爬虫,尽管自己没学过Python.但在网上找了一些资料看了一下,看到爬取韩寒新浪博客的视频.共三集,第一节讲爬取一篇博客,第二节讲爬取一页博客.第三集讲爬取所有博客. 看了视频.也留下了代码. 爬虫第一步:查看网页源码: 第一篇博客的代码为蓝底的部分<a title="" target="_blank" href="http://blog.sina.com.cn/

Python爬虫开发系列之一》开发IDE安装

中国有句古话说:工欲善其事,必先利其器! 在我最开始学 Python 的时候,因为没有去探索好用的工具,吃了很多苦头.磕磕绊绊走过来之后才知道,好的工具给效率带来的提升不是从 1 到 1.1 倍速,而是从 1 到 10 倍速. 所以说编写和运行程序之前我们必须要先把开发环境配置好,只有配置好了环境并且有了更方便的开发工具我们才能更加高效地用程序实现相应的功能达到事半工倍的效果,然而很多情况下我们可能在最开始就卡在环境配置上,如果这个过程花费了太多时间,想必学习的兴趣就下降了大半,所以本章专门开发