Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mouday/pageparser
网页解析器,用于网络爬虫解析页面, 不懂网页解析也能写爬虫
https://github.com/mouday/pageparser
crawler parser python spider
Last synced: about 2 months ago
JSON representation
网页解析器,用于网络爬虫解析页面, 不懂网页解析也能写爬虫
- Host: GitHub
- URL: https://github.com/mouday/pageparser
- Owner: mouday
- Created: 2018-10-13T03:48:17.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-02-18T10:09:45.000Z (11 months ago)
- Last Synced: 2024-11-09T10:11:40.854Z (2 months ago)
- Topics: crawler, parser, python, spider
- Language: Python
- Homepage:
- Size: 130 KB
- Stars: 48
- Watchers: 4
- Forks: 17
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PageParser
[![Build Status](https://travis-ci.org/mouday/PageParser.svg?branch=master)](https://travis-ci.org/mouday/PageParser)
![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/page-parser.svg)
![PyPI - Downloads](https://img.shields.io/pypi/dm/page-parser.svg)
![PyPI](https://img.shields.io/pypi/v/page-parser.svg)
![GitHub last commit](https://img.shields.io/github/last-commit/mouday/PageParser.svg)
![PyPI - Format](https://img.shields.io/pypi/format/page-parser.svg)## 项目简介
项目名称:六行代码写爬虫
英文名称:PageParser
项目简介:一个爬虫使用的网页解析包,实现最大限度的代码复用
项目目标:不懂网页解析也能写爬虫
> 注意:本项目仅用于学习交流,不可用于商业项目
## 安装模块
```
pip install page-parser
```最小项目示例:
```python
import page_parser# 1、指定网页
url = "https://www.baidu.com/"# 2、解析网页
items = page_parser.parse(url)# 3、输出数据
for item in items: print(item)
# {'title': '百度一下,你就知道'}
```## 支持网页
| 序号 |网站 | 网页名称 |网页地址 |
| - |- | - | - |
| 1 |百度 | 主页 | https://www.baidu.com/ |
| 2 |豆瓣 | 电影 正在热映 | https://movie.douban.com/ |
| 3 |拉勾 | 招聘职位列表页 | https://www.lagou.com/zhaopin/ |
| 4 |企查查 | 融资事件页 | https://www.qichacha.com/elib_financing |
| 5 |西刺代理 | 主页 | http://www.xicidaili.com/ |
| 6 |西刺代理 | 国内高匿代理 | http://www.xicidaili.com/nn/ |
| 7 |西刺代理 | 国内普通代理 | http://www.xicidaili.com/nt/ |
| 8 |西刺代理 | 国内HTTPS代理 | http://www.xicidaili.com/wn/ |
| 9 |西刺代理 | 国内HTTP代理 | http://www.xicidaili.com/wt/ |
| 10 |搜狗搜索 | 微信公众号搜索页 | https://weixin.sogou.com/weixin?type=1&query=百度 |
| 11 | 煎蛋网 | 主页列表 | http://jandan.net/|
|12| 伯乐在线 | python栏目 | http://python.jobbole.com/|## 网络爬虫工作流程:
```
页面下载器 -> 页面解析器 -> 数据存储```
`页面下载器`: 主要涉及防爬攻破,方法各异,爬虫的难点也在此
`页面解析器`: 一般页面在一段时间内是固定的,每个人下载页面后都需要解析出页面内容,属于重复工作
`数据存储`: 不管是存储到什么文件或数据库,主要看业务需求
此项目就是将这项工作抽离出来,让网络爬虫程序重点关注于:网页下载,而不是重复的网页解析
## 项目说明
此项目可以和python 的requests 和scrapy 配合使用
当然如果要和其他编程语言使用,可以使用flask等网络框架再次对此项目进行封装,提供网络接口即可
发起人:mouday
发起时间:2018-10-13
需要更多的人一起来维护
## 贡献代码
贡献的代码统一放入文件夹:page_parser
代码示例,如没有更好的理由,应该按照下面的格式,便于使用者调用
baidu_parser.py
## 说明:
### 原则:
1. 按照网站分类建立解析类
2. 解析方法包含在解析类中 为方便调用需要静态方法
3. 因为网页解析有时效性,所以必须`注明日期`
### 命名规则:
例如:
```
文件名:baidu_parser
类名:BaiduParser
方法名:parse_index
```### 其他
1. 必要的代码注释
2. 必要的测试代码
3. 其他必要的代码
## 加入我们
### 基本要求
1. python的基本语法 + 面向对象 + 迭代器(yield)
2. 掌握的库:requests、parsel、scrapy(了解即可)
3. 解析库统一使用parsel(基于xpath),简单高效,与scrapy无缝衔接
4. 不太懂也没关系,自己看参考文章,只要愿意学就会,瞬间提升自己参考文章:
1. [Python编程:class类面向对象](https://blog.csdn.net/mouday/article/details/79002712)
2. [Python编程:生成器yield与yield from区别简单理解](https://blog.csdn.net/mouday/article/details/80760973)
3. [Python爬虫:requests库基本使用](https://blog.csdn.net/mouday/article/details/80087627)
4. [Python网络爬虫之scrapy框架](https://blog.csdn.net/mouday/article/details/79736108)
5. [Python爬虫:xpath常用方法示例](https://blog.csdn.net/mouday/article/details/80364436)
6. [python爬虫:scrapy框架xpath和css选择器语法](https://blog.csdn.net/mouday/article/details/80455560)
### 联系方式
PageParser QQ群号: 932301512
![](images/page-parser-min.jpeg)