python 在 findall 中组合多个编译表达式
python Combine multiple compile expressions in findall
我自己写了一个代码,是这样的
import requests
from bs4 import BeautifulSoup
import re
import pandas as pd
URL = 'https://www.books.toscrape/j/detail/164857/963108'
content = requests.get(URL).content
soup = BeautifulSoup(content,"html.parser")
phone = soup.find_all(text=re.compile("phone|phone"))
name = soup.find_all(text=re.compile("name|name"))
mail = soup.find_all(text=re.compile("mail|mail"))
df = pd.DataFrame([phone,name,mail,])
df.to_csv('D:\products.csv', index=False, encoding='utf-8')
是的,看起来很奇怪,我希望这三个粉丝可以合并为一个,
像这样
F = soup.find_all(text=re.compile("phone|phone")),soup.find_all(text=re.compile("name|name")),soup.find_all(text=re.compile("mail|mail"))
过来帮帮我
一种写得更短的方法是:
data = [soup.find_all(text=re.compile(pat)) for pat in ("phone", "name", "mail")]
df = pd.DataFrame(data)
我自己写了一个代码,是这样的
import requests
from bs4 import BeautifulSoup
import re
import pandas as pd
URL = 'https://www.books.toscrape/j/detail/164857/963108'
content = requests.get(URL).content
soup = BeautifulSoup(content,"html.parser")
phone = soup.find_all(text=re.compile("phone|phone"))
name = soup.find_all(text=re.compile("name|name"))
mail = soup.find_all(text=re.compile("mail|mail"))
df = pd.DataFrame([phone,name,mail,])
df.to_csv('D:\products.csv', index=False, encoding='utf-8')
是的,看起来很奇怪,我希望这三个粉丝可以合并为一个, 像这样
F = soup.find_all(text=re.compile("phone|phone")),soup.find_all(text=re.compile("name|name")),soup.find_all(text=re.compile("mail|mail"))
过来帮帮我
一种写得更短的方法是:
data = [soup.find_all(text=re.compile(pat)) for pat in ("phone", "name", "mail")]
df = pd.DataFrame(data)