爬虫入门教程(一)———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() :提取文本
@ :提取元素

举例如下:




  Harry Potter
  29.99



  Learning XML
  39.95


如要提取价格,写为//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

你可能感兴趣的:(python)