我有一個 csv 檔案,我正在遍歷鏈接,然后獲取這些鏈接并使用它們進行網路抓取。一個與此非常相似的程式只是手動輸入 url 仍在作業,并且該程式在 for 回圈的第一次迭代中運行良好。問題是第二次迭代抓取了正確的 url,在 chrome 中打開了正確的頁面,然后給了我一個 AttributeError'header = soup.select('div.zlist.mystories')如下:
AttributeError: ResultSet 物件沒有屬性“選擇”。您可能將元素串列視為單個元素。當您打算呼叫 find() 時,您是否呼叫了 find_all()?
除了 AttributeError 使用 find_all()、find() 和 select_one() 回傳相同的錯誤。
我迷路了,因為我需要遍歷它并且它在第一次迭代中作業正常,但之后它中斷了。有任何想法嗎?
import re
from selenium import webdriver
from bs4 import BeautifulSoup as soup
from time import sleep
import csv
filename = 'Author CSV.csv'
with open(filename, 'r') as csvfile:
driver = webdriver.Chrome(executable_path='C:/Users/Curious Beats/Downloads/chromedriver.exe')
datareader = csv.reader(csvfile)
for row in datareader:
try:
url = row[0]
driver.get(url)
sleep(1)
soup = soup(driver.page_source, "lxml")
list_header = []
header = soup.select('div.z-list.mystories')
for items in header:
try:
follows = items.get_text().split()
list_header.append(follows[follows.index('Follows:') 1])
except:
continue
driver.quit()
list_header
list = [re.sub(',', '', _) for _ in list_header]
for i in range(0, len(list)):
list[i] = int(list[i])
sum = sum(list)
print(sum)
except IndexError:
print('blank')
uj5u.com熱心網友回復:
soup = soup(driver.page_source, "lxml")修飾湯的意思。所以當這行在第二次迭代中執行時,soup它不再是bs4.soup一個soup物件。奇怪的是,這不會引發例外。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/324931.html
