我对python和BeautifulSoup非常陌生,我正试图用它同时使用一个循环来抓取多个url。这个循环将包括在每个网站的主页上定位横幅幻灯片,并获得该网站有多少横幅的长度,并将它们放入对应的url旁边的excel文件中。我有一个保存在csv文件中的url列表,基本上我要做的是获取每个url并运行循环,提取横幅的数量,并将url旁边的数字放入excel中的单独列中。在
这是我到目前为止的代码,它为我做的就是把网址写回一个csv文件,并给我的横幅数量只为最后一个网址。在
from bs4 import BeautifulSoup
import requests
with open("urls.csv", "r") as f:
csv_raw_cont=f.read()
split_csv=csv_raw_cont.split('\n')
split_csv.remove('')
separator=';'
filename = "DDC_number_of_banners.csv"
f = open(filename, "w")
headers = "url, Number_of_Banners\n"
f.write(headers)
for each in split_csv:
url_row_index=0
url = each.split(separator)[url_row_index]
html = requests.get(url).content
soup= BeautifulSoup(html, "html.parser")
banner_info = soup.findAll('div',{'class':['slide', 'slide has-link',
'html-slide slide has-link']})
Number_of_banners = len(banner_info)
f.write(csv_raw_cont + "," + str(Number_of_banners) + "," + "\n")
f.close()
使用Python的CSV库将使这一点变得简单:
要包含诸如每个横幅的
^{pr2}$data-label
之类的信息:相关问题 更多 >
编程相关推荐