我是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)
将返回一个数组,其中包含找到的所有匹配项。