爬虫入门教程(一)———requests与xpath简介

前言:
本博客为python爬虫入门教程,学习需前初步了解python基本语法,http协议

一:requests
requests最常用的两个方法,对应http协议的get和post

requests.get(url)
requests.post(url, datas = data)

获取html文本: requests.get(url).text

二:xpath
1.简介
用来解析网页,提取你想要的内容
最简单的方法为选中后右键检查,再右键copy选xpath,但很多时候会有问题存在,提取到空内容,所以最好还是自学一下xpath语法。
// :查找所有html文本中符合条件的
/ :在当前节点的子节点里面查找
text() :提取文本
@ :提取元素

举例如下:

<bookstore>

<book>
  <title lang="edc">Harry Potter</title>
  <price>29.99</price>
</book>

<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>
</bookstore>

如要提取价格,写为//price/text()或者/bookstore/book/price/text()
提取lang元素,写为//price/@lang或者/bookstore/book/price/@lang
当有多个title标签容易混淆时,可以这样写//title[@lang=“edc”]/text(),这样就提取了Harry Potter。若直接写//title/text(),则两本书名都提取。
2.用法

res = requests.get(url)
html = etree.HTML(res.text)
aim = html.xpath('填入你想爬取的内容对应的xpath')

三:举例
爬取蚂蜂窝的游记标题,并打印输出

import requests
from lxml import etree
header = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6788.400 QQBrowser/10.3.2888.400'}
url = 'http://www.mafengwo.cn/i/11243250.html' #蚂蜂窝的一篇游记
res = requests.get(url,headers = header)
html = etree.HTML(res.text)
title = html.xpath('//div[@class="vi_con"]/h1/text()')
print(title)

header为浏览器信息,加上后将自己伪装成浏览器,才能访问该网址,这是最常见的反爬虫策略
下一篇博客将介绍爬取蚂蜂窝游记图片并保存在本地,电脑壁纸get

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值