包含python常用爬虫正则表达式的词条

本文目录一览:

python的正则表达式

1,正则表达式的一些内容

        正则表达式主要是用来匹配文本中需要查找的内容,例如在一片文章中找出电话号码,就中国的来说11位纯数字(不说座机),则使用”\d{11}” 意味匹配数字11次,就能准确的查找出文本中的电话号码. 还有就是在编写网络爬虫的时候需要提取很多超链接再次进行爬取,使用正则表达式就很方便.直接匹配http开头就行,当然也可以使用beautifulsoup的select方法.

看下面的程序看看正则表达提取文本中的邮箱:

\w 匹配字母,数字,下划线 

+ 匹配1次或者多次

re是正则表达式的工具包,工具包出错的话在anaconda的命令行输入”pip install re”安装,其他的工具包也是如此.

re.compile()中的r示意\不是转义字符,也就是保持后面字符串原样,findall返回一个列表.下面还有一个版本的程序略有不同.

compile的另一个参数re.IGONORECASE(忽略大小写),还可以是re.DORALL,多行模式,具体功能也是模糊不清,不过在使用通配符 . 匹配的时候加上re.DOTALL参数能够匹配换行.如果希望忽略大小写和多行模式都开启可以使用re.compile(r’….’,re.IGNORECASE|re.DOTALL) .

表达式使用( ),对匹配到的内容分为3组 也就是(\w+)出现字母,数字,下划线一次或多次,这个分组就是下面使用match对象的grou()方法的时候的参数.不给参数和参数0都是得到整个匹配到的内容,  参数1得到第一个括号匹配到的内容,以此类推参数2和3,如果没有括号分组的话使用参数会出现错误.

search( )查找和正则式匹配的内容,只匹一次后面的那个找不到.返回一个match对象

\w 匹配字母,数字,下划线

\W 匹配字母,数字.下划线之外的所有字符

\d 匹配数字

\D 匹配非数字

\s 匹配空格,制表符,换行符

\S匹配除空格制表符,换行符之外的其他字符

[ …. ]定义自己的匹配,如[aeiouAEIOU ]匹配所有的元音字母,注意不是匹配单词.

{最少次数,最多次数},例如{3,9} 匹配3-9次,{ ,10}匹配0-10次. 默认为匹配最多次数(贪心匹配),非贪心模式在后面加上问号 

?  可选 0次或者1次吧  

+匹配1次或多次

*匹配0次或者多次

^ 判断开头 ^\d 如果待匹配串是数字开头则返回第一个数字

$判断结尾  \d$  如果待匹配串是数字结尾则返回最后一个数字

.   通配符,匹配除换行之外的所有字符

   \d{11}  匹配数字11次

    . * 匹配所有字符除 换行

[a-zA-Z0-9._%+-]  小写和大写字母、数字、句点、下划线、百分号、加号或短横

[a-zA-Z]{2,4} 匹配字母 2 – 4次

python曲配图片爬虫正则表达式

开头’scr=’和结尾’pic_ext’是字符串匹配,意思是匹配src=开头,pic_ext结尾,中间是***.jpg这样的字符串的意思

return是返回最后获得的图片文件列表,因为这本身是一个函数

python 网络爬虫 正则表达式

import re

file = open(‘xx.htm’,’r’,encoding = ‘gbk’)

allLines = file.readlines()

xx = ”.join(allLines).encode(‘utf8’).decode(‘utf8’)

a = re.findall(r’tddiv align=”[\s\S]*/td?’,xx)

#print(‘\n’.join(a))

for i in a:

    a = re.findall(r’\d+[.]?\d*/div?|\d{4}-\d{2}-\d{2}/div?|[\u4e00-\u9fa5]+?’,i)

    print(‘\n’.join(a))

file.close()

Python爬虫正则表达式匹配多个给定字符串间的内容

你的正则表达式使用了贪婪模式的匹配(.*),应该用非贪婪模式,正则表达式应该为a

href=”/(.*?)-desktop-wallpapers.html

完整的python语言程序如下

#!/usr/bin/python3

import re

a = ‘htmlbodyp[a href=”/aero-desktop-wallpapers.html” title=”Aero HD Wallpapers”Aero/a, a href=”/animals-desktop-wallpapers.html” title=”Animals HD Wallpapers”Animals/a, a href=”/architecture-desktop-wallpapers.html” title=”Architecture HD Wallpapers”Architecture/a,Wallpapers”Artistic/a, ……..(省略)……… a href=”/vintage-desktop-wallpapers.html” title=”Vintage HD Wallpapers”Vintage/a]/p/body/html’

titles = re.findall(‘a href=”/(.*?)-desktop-wallpapers.html’,str(a))

print (titles)

运行结果

[‘aero’, ‘animals’, ‘architecture’, ‘vintage’]

请问用python爬虫抓取此网站的有关信息正则表达式和beautifulsoup怎么写?

代码如下:

#coding=utf-8

import re

import requests

from bs4 import BeautifulSoup

resp = requests.get(”)

if resp.status_code == 200:

    soup = BeautifulSoup(resp.content.decode(‘GB2312’), ‘xml’)

    

    content = soup.find(‘div’, id = ‘postContent’)

    items = content.find_all(‘p’, attrs = {‘class’: ‘bbsp’})

    

    regex = re.compile(r’\d*(.*?)\s*((?:\d+°\s?)?(?:\d+\’\s?)?(?:\d+\.\d+\”\s?)?N)\s*((?:\d+°\s?)?(?:\d+\’\s?)?(?:\d+\.\d+\”\s?)?[WE])’)

    for item in items:

        line = item.text.strip()

        if line != ”:

            match = regex.match(line)

            if match:

                groups = match.groups()

                print(‘名称:’, groups[0])

                print(‘北纬:’, groups[1])

                print(‘东经:’, groups[2])

                print(‘—————————————-‘)

运行结果:

原创文章,作者:JAHKM,如若转载,请注明出处:https://www.506064.com/n/130581.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
JAHKMJAHKM
上一篇 2024-10-03 23:29
下一篇 2024-10-03 23:29

相关推荐

  • Python爬虫可以爬哪些网站

    Python是被广泛运用于数据处理和分析领域的编程语言之一。它具有易用性、灵活性和成本效益高等特点,因此越来越多的人开始使用它进行网站爬取。本文将从多个方面详细阐述,Python爬…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • Python正则表达式search()和match()有什么区别?

    search()和match()都是Python中的正则表达式函数,它们的作用都是在一个字符串中搜索匹配正则表达式的位置,但它们有着不同的使用场景和返回结果。 一、search()…

    编程 2025-04-29
  • 爬虫是一种程序

    爬虫是一种程序,用于自动获取互联网上的信息。本文将从如下多个方面对爬虫的意义、运行方式、应用场景和技术要点等进行详细的阐述。 一、爬虫的意义 1、获取信息:爬虫可以自动获取互联网上…

    编程 2025-04-29
  • 使用Selenium爬虫实现数据采集

    本文将详细阐述如何使用Selenium爬虫实现数据采集,包括Selenium的基本用法,Selenium + Beautiful Soup库的用法以及常见问题的解决方案。如果您是初…

    编程 2025-04-29
  • Python爬虫乱码问题

    在网络爬虫中,经常会遇到中文乱码问题。虽然Python自带了编码转换功能,但有时候会出现一些比较奇怪的情况。本文章将从多个方面对Python爬虫乱码问题进行详细的阐述,并给出对应的…

    编程 2025-04-29
  • Python序列的常用操作

    Python序列是程序中的重要工具,在数据分析、机器学习、图像处理等很多领域都有广泛的应用。Python序列分为三种:列表(list)、元组(tuple)和字符串(string)。…

    编程 2025-04-28
  • Python爬虫文档报告

    本文将从多个方面介绍Python爬虫文档的相关内容,包括:爬虫基础知识、爬虫框架及常用库、爬虫实战等。 一、爬虫基础知识 1、爬虫的定义: 爬虫是一种自动化程序,通过模拟人的行为在…

    编程 2025-04-28
  • 使用Python爬虫获取电影信息的实现方法

    本文将介绍如何使用Python编写爬虫程序,来获取和处理电影数据。需要了解基本的Python编程语言知识,并使用BeautifulSoup库和Requests库进行爬取。 一、准备…

    编程 2025-04-28
  • Python爬虫商品评论入门指南

    如何使用Python爬取商品评论信息?这是一个有趣的问题。本文将从多个方面详细讲解Python爬虫实现商品评论信息的抓取,包括:选择合适的爬虫工具、构建爬虫流程、模拟网页请求以及数…

    编程 2025-04-28

发表回复

登录后才能评论