通过lxml的方式去分析数据,将爬到的数据放到file中的html中

代码如下

# 用线程去爬虫
from urllib.request import Request
from urllib.request import urlopen
from time import sleep,ctime
from lxml import etree
import _thread;
ii=
headers = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
def spilder(page):
global ii;
url = "http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%%E5%%8C%%97%%E4%%BA%%AC&kw=python&sm=0&p=%i"%(page);
req = Request(url=url, headers=headers);
req_timeout = ;
f = urlopen(req, None, req_timeout);
s = f.read();
s=s.decode("UTF-8");
s=str(s)
selector = etree.HTML(s);
links = selector.xpath('//tr/td[@class="zwmc"]/div/a/@href|//tr/td[@class="zwmc"]/div/a/text()');
f=open("file/%i.html" %page,'w')
for link in links:
f.write("%s<br>"%link);
print(link);
ii+=;
print(ii)
f.close();
def main():
global ii;
for i in range(,1):
_thread.start_new_thread(spilder,(i,))
for kk in range():
if(ii>):
break;
else :
sleep()
main() 会出错,socket.timeout: timed out 可以通过代理IP来解决

最新文章

  1. 【码在江湖】前端少侠的json故事(中)ng的json
  2. 深入理解DOM事件类型系列第一篇——鼠标事件
  3. jQuery入门(2)使用jQuery操作元素的属性与样式
  4. java提高篇(十五)-----关键字final
  5. MyEclipse内存溢出问题解决方法
  6. hMailserver设置外部反病毒扫描程序
  7. [转]laravel 4之视图及Responses
  8. OAuth2.0记录
  9. oracle 备份脚本
  10. 关于JAVA项目中的常用的异常处理
  11. cocos2dx (关于斗地主人物偏移位置)
  12. 事件响应模型(游戏引擎、JAVA中等应用)
  13. 扩展saltstack组件
  14. windows 7 Alt+Tab 的风格改成 XP 风格
  15. WPF DataGrid 样式分享
  16. .NET/C# 使用反射调用含 ref 或 out 参数的方法
  17. PAT甲级1034. Head of a Gang
  18. 最全的iOS物理引擎demo
  19. AESDK AE中层类型的3种取得方式
  20. JavaScript预解析

热门文章

  1. javascript 之基本包装类型--04
  2. 【ASP.NET MVC 学习笔记】- 16 Model Binding(模型绑定)
  3. java压缩包上传,解压,预览(利用editor.md和Jstree实现)和下载
  4. Jenkins项目部署使用教程-----02视图及项目添加
  5. C++类与对象(05)
  6. PHP常用配置
  7. MongoDB自动增长
  8. Linux命令用法
  9. jdbc链接hive报错:java.lang.ClassNotFoundException: org.apache.thrift.transport.TTransport
  10. Java基础笔记12