从抓取的文本中提取非结构化地址和电子邮件id作为变量-Python



我是python的新手,所以如果这是一个简单的问题,请原谅我。下面的代码成功地抓取了一个网页。有没有一种方法可以提取地址,电子邮件id&联系人号码,并将其放入数据帧中。我已经搜索了两种方法来做到这一点:-

  • REGEX-但它可能不起作用,因为我有很多网站要刮和地址可能并不总是以规则模式进行结构化
  • Pyap-它只迎合美国&加拿大地址

除了以上两种方法之外,还有什么方法可以获取所需的详细信息吗:-

import requests
from bs4 import BeautifulSoup
link = input("ENTER WEBPAGE") # for example, i am using this webpage as of now "[https://glg.it/contact-us/][1] "
response = requests.get(url)
details = response.text
scraped_details = BeautifulSoup(details, "html.parser")
pretty1 = scraped_details.prettify()
print(pretty1)

谢谢你的帮助!!

Regex可以通过修改与大多数地址格式匹配的表达式来使用>br>

import re
txt = ...
regexp = "[0-9]{1,3} .+, .+, [A-Z]{2} [0-9]{5}"
address = re.findall(regexp, txt)
# address = ['44 West 22nd Street, New York, NY 12345']

说明:

[0-9]{1,3}:1至3位,地址号

(space):数字和街道名称之间的空格

.+:街道名称,任何出现次数的任何字符

,:城市前的逗号和空格

.+:城市,任意出现次数的任意字符

,:状态前的逗号和空格

[A-Z]{2}:从A到Z 正好有2个大写字符

[0-9]{5}:5位

re.findall(expr, string)将返回一个数组,其中包含找到的所有匹配项。

最新更新