【发布时间】:2020-04-30 02:10:33
【问题描述】:
我正在尝试抓取此网站。我需要一个脚本,它可以将名称放在 URL 的“who=”部分,还可以将要抓取的页面编号放在“page=”中。
这是当前脚本:
import requests
from bs4 import BeautifulSoup as bs
import re
import pandas as pd
from colorama import Fore, Style
def main(url):
names = ["Bryan", "David", "Robert"]
with requests.Session() as req:
data = []
for name in names:
for page in range(1, 9):
print(url.format(Fore.RED + name + Style.RESET_ALL, Fore.YELLOW + str(page) + Style.RESET_ALL))
print(f"Extracting Page# {page}")
r = req.get(url.format(page))
soup = bs(r.content, 'html.parser')
names = [name.text for name in soup.select("h2.name.title.inbl")]
address = [address.text for address in soup.select("div.h4.address.mtreset")]
phone = [ph.group(1) for ph in re.finditer(r'mainLine":"(\d+)', r.text)]
for x, y, z in zip(names, address, phone):
if z.startswith(("06", "07")):
data.append([x, y, z])
print(z)
df = pd.DataFrame(data, columns=["Name", "Address", "Phone"])
print(df)
df.to_csv(r'C:////////.csv', index=False)
print("Data Saved to your csv")
main("https://www.#########.com/search?part=1&who={}&page={}")
请有人解释一下问题出在哪里并最终纠正这个脚本?
非常感谢您
【问题讨论】:
-
我相信你之前的question已经解决了这个问题
-
你好@αԋɱҽԃαмєяιcαη 谢谢你的留言。不完全是,我在这个新问题中要求它,因为我的脚本无法正常工作
标签: python variables web-scraping beautifulsoup