python网页数据抓取(爬取《斗破苍穹》全文小说网络链接:)

优采云 发布时间: 2021-09-14 11:16

  python网页数据抓取(爬取《斗破苍穹》全文小说网络链接:)

  在python爬取数据的过程中,当你使用上面介绍的三大库进行正则爬取时,有时不方便处理路径,可以使用简单的正则表达式来描述路径。抢。

  说到正则表达式,大家往往会觉得很复杂,因为正则表达式是一组特殊的符号,用来帮助开发者检查一个字符串是否与某个模式匹配。其实,当你弄清楚如何匹配字符时,还是很简单的,然后使用re模块完成数据获取。

  1、正则表达式基础

  (1)一般字符

  

  (2)预定义字符集

  

  (3)quantity word

  

  (4)边界匹配

  

  注意:最常用的匹配方式(.*?)表示匹配任意字符

  2、re 模块使用方法

  re 模块使 Python 拥有所有正则表达式功能。

  常用函数1:search()函数匹配提取第一个符合规律的内容,并返回一个正则表达式对象

  常用函数2:findall()函数匹配所有符合规律的内容并以列表的形式返回结果

  备注:一般在爬取数据的时候用的最多的是findall。

  重新模块修饰符

  

  3、案例实践

  案例名称:爬取《斗破苍穹》全文小说

  网络链接:/doupocangqiong/

  

  抓取想法:

  打开网页,了解网页的网址信息。打开第一、二章,链接如下

  /doupocangqiong/1.html

  /doupocangqiong/2.html

  /doupocangqiong/3.html

  明显的链接通过添加数字对每一章进行分页。

  爬取全文信息,找到对应位置如下

  

  数据存储在 TXT 文本中

  4、详细代码如下:

  导入请求

  重新导入

  导入时间

  标题={

  "User-Agent":请求头}

  f=open('doupo.txt','a+')

  def get_info(url):

  res=requests.get(url,headers=headers)

  如果 res.status_code==200:

  contents = re.findall('

  (.*?)

  ',res.content.decode('utf-8'),re.S)

  对于内容中的内容:

  f.write(content+'\n')

  打印(内容)

  其他:

  通过

  如果 __name__=='__main__':

  urls=['/doupocangqiong/{}.html'.format(i) for i in range(2,10)]

  对于网址中的网址:

  get_info(url)

  time.sleep(1)

  f.close()

  运行结果如下:

  

  好的,正则化的使用就是这么简单。当遇到路径困难时,不妨试试正则化来获取数据。非常高效方便!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线