爬虫入门基础

本文介绍了如何使用PyCharm进行Python爬虫开发,涉及requests库的请求发送,re模块的正则表达式和lxml库的XPath技术。通过实例讲解了网络页面获取、服务器渲染与客户端渲染的区别,以及如何模拟浏览器抓取数据的过程。
摘要由CSDN通过智能技术生成

 我使用的是pycharm,使用爬虫前记得先把需要的库安装下来,具体网上有教程。

然后介绍一下我们要使用到的库。

import requests
#爬虫

import re
#re模块,用于使用正则表达式

from lxml import etree
#xpath方法

爬虫做了啥 

首先我们了解一下我们平时看到的网络页面是怎么来的,有这样几种情况。

        第一,服务器渲染:服务器统一把html和数据返回给浏览器

        第二,客服端渲染:浏览器向服务器请求网页,服务器返回给一个html骨架,浏览器再向服务器请求数据,服务器再把数据返回给浏览器

然后所谓的爬虫就是机器代替人去浏览页面获取数据,因为人处理庞大的工作量是费时的,而机器很快。

        我们打开页面是给浏览器一个网址,那么我们也要给python一个网址让它打开。这个网络地址就是url。导入request库后,可以用request.get(url)或者request.post(url)来向服务器发起请求,让它返回包给python。使用get还是post或者其他方法要看这个网页用的是什么请求。按F12可以打开浏览器抓包工具,在net下面找到url,下面就有它使用的请求。

返回得到页面源代码后,可以找你要的东西了。

        分析页面源代码,使用xpath或是正则表达式,获取页面内你要的图片、超链接或是文本。

下面介绍一下re和xpath

re

re的函数:

re.match(正则表达式, 字符串,标志位)        --只匹配字符串的开始,不符合正则直接匹配失败

re.search                                                --匹配整个字符串,直到找到一个匹配,否则匹配失败

re.findall                                                 --找到自负床所匹配的左右字符串,返回列表

re.compile                                                --编译正则表达式,形成一个对象

re.finditer                                                 --跟findall差不多,但返回迭代器

re.sub(pattern,repl,string,count=0,flags=0)  --将匹配到的数据替换

re.subn                                                        --跟sub差不多,但返回元组

re.split                                                        --切割字符串,返回列表

标志位:

  • re.I 忽略大小写
  • re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
  • re.M 多行模式
  • re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
  • re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
  • re.X 为了增加可读性,忽略空格和 # 后面的注释

xpath

xpath对比正则的优势在于xpath只用数标签即可获取内容

    et = etree.HTML("xxx.html")
    result = et.xpath("/xx/xx/xx")

/a获取超链接

/text()获取文本

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值