Skip to main content

Biu

A tiny web crawler framework

Features

  • 请使用 Python3.10 或更高版本
  • 并发基于 Gevent,因此你必须在脚本一开始import biu,或者自行 monkey patch
  • 请求基于 Requests,请求与请求结果的参数与 Requests 基本兼容
  • 页面解析基于 Parsel, 因此使用方法与 Scrapy 一致
  • 基本是一个缩水版的 Scrapy,用法与之非常类似
  • 更多高级功能请面向源代码编程,自行发掘

Installation

pip install biu

Example

import biu  ## Must be the first line, because of monkey-included.


class MySpider(biu.Project):
    def start_requests(self):
        for i in range(0, 301, 30):
            # return 或者 yield 一个 biu.Request 就会去访问一个页面,参数与 requests 的那个基本上是兼容的
            yield biu.Request(url="https://www.douban.com/group/explore/tech?start={}".format(i),
                              method="GET",
                              headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"},
                              callback=self.parse)

    def parse(self, resp):
        ## biu.Response 和 requests 的那个差不多,加了几个选择器上去
        for item in resp.xpath('//*[@id="content"]/div/div[1]/div[1]/div'):
            yield {
                "title": item.xpath("div[2]/h3/a/text()").extract_first(),
                "url": item.xpath("div[2]/h3/a/@href").extract_first(),
                "abstract": item.css("p::text").extract_first()
            }
            # return 或者 yield 一个 dict, 就会当作结果传到result_handler里进行处理


    def result_handler(self, rv):
        print("get result:", rv)
        # 在这把你的结果存了

biu.run(MySpider(concurrent=3, interval=0.2, max_retry=5))

Metadata

Release files for biu 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for biu 0.3.0
File Size Uploaded
biu-0.3.0.tar.gz 40.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for biu 0.3.0
File Interpreter ABI Platform
biu-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 45.9 kB

Release files / biu-0.3.0.tar.gz

Download URL biu-0.3.0.tar.gz
Size 40.8 kB
Tags Source
SHA-256 checksum
How to use checksums
648194a51dd01a460132ef23472fbfd99d47d6f7a2b2eb5ba7e97526790f5827
BLAKE2b-256 checksum
How to use checksums
e8f666b99a02544c28275ec488cb7c7547129ad78e67f5c976ed3ba3a413da4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.2

Release files / biu-0.3.0-py3-none-any.whl

Download URL biu-0.3.0-py3-none-any.whl
Size 5.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
06786383a682722908e395d2c9644009fd3876d53c91a2d755cd32075c61efe3
BLAKE2b-256 checksum
How to use checksums
634e7ebab624a0fdf293fcc7dc471af09ce44055af5d578e92d34a2abe104cf6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.27.2

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page