分类标签归档:spider

pyspdier入门


如果你使用 ubuntu,依赖以下二进制包:apt-get install python python-dev python-distribute python-pip libcurl4-openssl-dev libxml2-dev libxslt1-dev python-lxml

启动 : pyspider all
脚本编辑:on_start 是脚本执行的入口, 点击run 会被调用
@every 表示这个任务是定时执行
self.crawl: 用于控制抓取连接, 使用callback = self.index_page指定用哪个函数解析抓取到的页面
def index_page(s...

Read more

select+epool+socket简单源码


非堵塞io实现http请求

import socket, time 

from urllib.parse import urlparse 

from selectors import DefaultSelector, EVENT_READ, EVENT_WRITE 


# select +  回调 + 事件循环
# 并发性高
# 单线程模式/占用内存小
selector = DefaultSelector()

stop = False
# windows下会选择pool linux下会自动选择epool
urls = []

使用select完成http请求

class Fetch...

Read more

xpath 表达式


Xpath表达式

/
    代表从顶端开始寻找标签一层层寻找
    例子:/html/head/title
    text()
    提取文本信息
    例子:/html/head/titile/text()
    @[]
    提取属性
    例子://li[@class=””]/a/@href       标签[@属性=值]
    //
    寻找所有标签
    例子://li
    / /*
    例子/div/* 选取属于div元素的所有子节点
    //*
    例子//* 选取所有元素
    //div[@*]
    选取所有带属性的titl...

Read more