我自己寫了一個代碼,它是這樣的
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"))
過來幫幫我
uj5u.com熱心網友回復:
一種寫得更短的方法是:
data = [soup.find_all(text=re.compile(pat)) for pat in ("phone", "name", "mail")]
df = pd.DataFrame(data)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/448269.html
