xpath 使用教程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

<div class="demo">
<span>
</span>
<ul>
<li class="item-0">
<a href="link-0">link0-item</a>
</li>
<li class="item-1">
<a href="link-1">link1-item</a>
</li>
<li class="item-2">
<a href="link-2">link2-item</a>
</li>
</ul>
</div>

这篇文章列举常用的一些 xpath 用法,以便同学们更好的理解使用 http://www.anycrawl.info/ 这个网站

  1. //div (获取所有 div 元素,不管在文档什么位置)
  2. /div (获取根路径 div 元素)
  3. //div/span (获取 div 元素下一级的 span 元素)
  4. //div//span (获取 div 元素所有后代的 span)
  5. //ul/li[1] (获取 ul 子元素下的第一个 li 元素)
  6. //ul/li[last()] (获取 ul 子元素下的最后一个 li 元素)
  7. //div[@class="demo"] (获取 class 为 demo 的 div 元素)
  8. //ul/li/a/@href (获取 ul>li>a 链接的 href 属性)
  9. //ul/li/a/text() (获取 ul>li>a 链接的内容)
  10. //*[@class="item-0"] (获取 class 为 item-0 的元素)
  11. //*[contains(@class, "de")] (获取 class 元素包含 de 的元素)

参考手册:xpath cheatsheet

动态可配置化 Python 爬虫教程

爬虫大家都很熟悉,像 scrapy 这种 Python 爬虫框架也很成熟,不过每写一个爬虫都得重新复制一份代码,这部分如果做成可配置的话,能相应减少一些工作量,对新手也会友好些,所以我花了点时间,开发了一个动态可配置的爬虫网站 http://www.anycrawl.info ,基于 scrapy ,提供一些配置项,5分钟就可生成一个通用爬虫,并可直接下载代码使用。

我举 http://www.anycrawl.info/project/15/ 豆瓣小组爬虫的例子来介绍下网站的使用方法。

Read More

谈谈 django 应用实践

python 的 web 框架非常多,比较出名的有 django, flask, tornado。django 作为一个老牌框架,无论是文档还是代码质量都非常高,另外他自带的 admin 后台和一些有用的 app,如果你的需求是做 cms 之类的 web 应用的话,基本上不用开发多少代码就能出一个成品。不过很多新手可能一开始不太适应他的设计模式,遇到问题后基本就懵了,所以这里我按照自己用 django 的经验,写一下 django 的一些应用实践,可能写的比较零散,大家见谅。

整体流程

Read More

由浅入深写代理(10)-内网穿透

本篇主要介绍代理的一个常用的功能:内网穿透
很多人经常会有这么一个需求,需要将本地开发的 web 项目给外网的人看下,再搭一遍到 vps 太麻烦,于是就有借助拥有公网 ip 的主机来中转。

有专门的软件做这件事,如 ngrok, frp。

Read More

由浅入深写代理(8)-ss-代理.md

ss 作用是科学上网,因为怕关键词会让文章被干掉,所以用了别名。本文纯粹是分析技术的角度出发。因为 ss 现在的版本已经很复杂了,eventloop, 状态机,支持 udp 。为了简单讲原理,我们用 0.9 的版本来说明。

Read More