下载pathon3,下载pycharm(IDE工具)。pycharm有免费版和收费版,收费版需要找个验证码破解一下。

http://blog.csdn.net/u014044812/article/details/78727496

安装python的时候,勾选下面的增加到系统的path配置,就可以自动配置path,然后install now就可以了。

安装好软件后,还需要安装一些插件。根据自己的需要自己安装。

比如:xlwt(处理excel),lxml(解析xml) ,requests(解析网络请求)。

打开cmd,输入

pip3 install lxml(要安装的插件名称)

安装后,就可以在pathon程序的开头引入这个包

python去爬虫内容,我理解就是用python去解析网页,找到网页中的共性,提取共性元素。所以需要对网页知识有些了解。比如网页的格式,div,css等等。

我们安装chrome,用chrome打开网页,点击开发者工具

鼠标指向网页元素,点击右键检查,会在右侧的开发者工具中,显示和该元素对应的代码

右键高亮的代码区,选择xpath,会把该代码用xpath的方式copy,以便我们在py里解析。

我们先来看第一段代码

解析一个本地的html文件

html文件内容

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>second web</title><link rel="stylesheet" type="text/css" href="main.css">
</head>
<body><div class="header"><h1>first web</h1></div><div class="main-content"><ul class="article"><li><img src="1.jpg" width="100" height="90"><h3>first</h3><p>this is first</p></li><li><img src="2.jpg" width="100" height="90"><h3>second</h3><p>this is second</p></li><li><img src="3.jpg" width="100" height="90"><h3>third</h3><p>this is third</p></li></ul></div><div class="footer"><p>&copy;黄黄弋</p></div>
</body>
</html>

我们的解析代码如下

#引入需要使用的包
from lxml import  etree#打开文件,3个参数,文件名路径,打开方式(只读,读写,写),打开格式
f = open('second_web.html','r',encoding='utf-8')
# print(f.read()) 测试是否正确读取
#使用引入的包中的类,把文件解析成html格式
html = etree.HTML(f.read())#从1到4循环,不包括4,递增1
for i in range(1,4):#用xpath的方式解析取得的html内容,//div 2个斜杠表示不是从头开始,是从中间任意地方开始
    #div[2],表示第2个div
    #{}表示这里是个函数,format里面的内容会放到这里,也就是i会放到这里
    #@height, @表示是img的属性,而不是下一级标签
    #[0],用xpath处理后返回的是个数组,[0]表示取第一个,这里只有一个值,所以也只能取第一个
    img = html.xpath('//div[2]/ul/li[{}]/img/@height'.format(i))[0]print(img)

主要注意几点

1.循环的写法,for () in () :   注意循环执行的代码,要缩进,如果和循环在同一个位置,会报错失败
2.语句结束不需要分隔符
3.变量的定义,不需要定义类型,直接使用即可。
4.严格区分大小写

到这里,我们已经可以解析本地的文件了,下面我们来写第2段代码,解析网上的网页
from lxml import etree
import requests#这里定义了一个数组,地址中的页码是个变量,这里给变量赋值1到11,不包括11
urls = ['https://cs.lianjia.com/ershoufang/pg{}/'.format(str(i))for i in range(1,11)]
for url in urls:#把地址解析成请求res = requests.get(url)#把地址请求的页面变成htmlhtml = etree.HTML(res.text)#用xpath把页面里的指定元素解析到数组中#@class是 标签中的class元素infos = html.xpath('//ul[@class="sellListContent"]/li')#对数据做循环,把从chrome浏览器中copy的xpath内容黏贴到这里,从里面去掉和infos定义中重复的部分,# 也就是去掉//ul[@class="sellListContent"]/li,去掉li之前的内容,只留下后面的部分#在内容后面系上/text(),会把这部分内容解析成文本格式。for info in infos:title = info.xpath('div[1]/div[1]/a/text()')[0]price = info.xpath('div[1]/div[6]/div[1]/span/text()')[0]address = info.xpath('div[1]/div[2]/div/a/text()')[0]#多个元素在同一个 区块内,查找规律找到分隔符把他们分开room = info.xpath('div[1]/div[2]/div/text()')[0].split(' | ')[1]area = info.xpath('div[1]/div[2]/div/text()')[0].split(' | ')[2]orient = info.xpath('div[1]/div[2]/div/text()')[0].split(' | ')[3]style = info.xpath('div[1]/div[2]/div/text()')[0].split(' | ')[4]#有的内容没有这个部分# test1 = info.xpath('div[1]/div[2]/div/text()')[0].split(' | ')[5]#从0开始的,所以如果[5],就是长度是6,目前的格式[0]没内容if len(info.xpath('div[1]/div[2]/div/text()')[0].split(' | ')) == 6:lift = info.xpath('div[1]/div[2]/div/text()')[0].split(' | ')[5]else:lift = '无电梯'print(title,'#', price,'#', address,'#', room,'#', area,'#', orient,'#', style,'#', lift)
												

pathon----爬虫学习1相关推荐

  1. 以下用于数据存储领域的python第三方库是-Python3爬虫学习之MySQL数据库存储爬取的信息详解...

    本文实例讲述了Python3爬虫学习之MySQL数据库存储爬取的信息.分享给大家供大家参考,具体如下: 数据库存储爬取的信息(MySQL) 爬取到的数据为了更好地进行分析利用,而之前将爬取得数据存放在 ...

  2. python爬虫正则表达式实例-python爬虫学习三:python正则表达式

    python爬虫学习三:python正则表达式 1.正则表达式基础 a.正则表达式的大致匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符 ...

  3. 爬虫学习笔记(十)—— Scrapy框架(五):下载中间件、用户/IP代理池、settings文件

    一.下载中间件 下载中间件是一个用来hooks进Scrapy的request/response处理过程的框架. 它是一个轻量级的底层系统,用来全局修改scrapy的request和response. ...

  4. 爬虫学习笔记(七)——Scrapy框架(二):Scrapy shell、选择器

    一.Scrapy shell scrapy shell的作用是用于调试,在项目目录下输入scrapy shell start_urls (start_urls:目标url)得到下列信息: scrapy ...

  5. Python2爬虫学习系列教程

    http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己 ...

  6. python爬虫自学路线_python 爬虫学习路线:从入门到进阶

    大家好,我是凉拌 今天给大家详解一下我的爬虫学习路线. 对于小白来说,爬虫可能是一件非常复杂.技术门槛很高的事情.比如有的人则认为先要掌握网页的知识,遂开始 HTML\CSS,结果入了前端的坑,浪费了 ...

  7. Python爬虫学习系列教程

    大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫 ...

  8. python网络爬虫权威指南 豆瓣_豆瓣Python大牛写的爬虫学习路线图,分享给大家!...

    豆瓣Python大牛写的爬虫学习路线图,分享给大家! 今天给大家带来我的Python爬虫路线图,仅供大家参考! 第一步,学会自己安装python.库和你的编辑器并设置好它 我们学习python的最终目 ...

  9. 新手python爬虫代码_新手小白必看 Python爬虫学习路线全面指导

    爬虫是大家公认的入门Python最好方式,没有之一.虽然Python有很多应用的方向,但爬虫对于新手小白而言更友好,原理也更简单,几行代码就能实现基本的爬虫,零基础也能快速入门,让新手小白体会更大的成 ...

  10. Python爬虫学习系列教程-----------爬虫系列 你值的收藏

    静觅 » Python爬虫学习系列教程:http://cuiqingcai.com/1052.html 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把 ...

最新文章

  1. c语言模拟实现oc引用计数
  2. seata-server没有从nacos配置中心读取配置_微服务新秀之Nacos,看了就会,我说的
  3. BZOJ 3262 cdq分治 OR 树套树
  4. 【CyberSecurityLearning 30】Linux操作系统的用户和组、文件及目录权限
  5. 快速找到由程序员到CTO发展道路上的问路石
  6. 算法题目——爬楼梯(动态规划)
  7. 使用 jQuery Mobile 与 HTML5 开发 Web App (十) —— jQuery Mobile 默认配置与事件基础
  8. [OpenGL] Stencil Shadow Algorithm
  9. python 装饰器(复杂一点的)
  10. IE, FF, Safari前端开发常用调试工具(转载)
  11. Linux sort命令浅析
  12. AV_PIX_FMT_YUV420P12LE’在此作用域中尚未声明
  13. 传智播客 GIL(全局解释器锁)学习
  14. OpenGL是什么?Win10+VS2019下搭建glfw+glad开发环境
  15. WEB 系统架构演变
  16. 继承关系下怎样使用Builder 模式
  17. Emulex着眼数据中心LAN与SAN的聚合
  18. 在这个薄情的世界里深情的活这
  19. 操作系统题库(选择题部分,带解析)
  20. 设定行车路线实验matlab,避障最优路径系统研究

热门文章

  1. spring 配置文件报错 Cannot resolve class or package
  2. vue菜鸟入门---创建项目
  3. 油管 在股票交易中学习
  4. python3:调用阿里云小蜜代码示例
  5. 获取英文期刊的封面及目录
  6. 基于java的模拟写字板系统设计与实现(项目报告+开题报告+答辩PPT+源代码+部署视频)
  7. 微信小程序与Node服务器 Socket通讯
  8. Tomcat调优参数
  9. android 使用上下文菜单ContextMenu
  10. 苹果手机蓝牙与苹果电脑蓝牙怎么连接不上?