Python 仅在selenium中多次刮取1个报价
我试图从好的阅读中删除引号,我在列表中搜索关于引号的Python 仅在selenium中多次刮取1个报价,python,selenium-webdriver,Python,Selenium Webdriver,我试图从好的阅读中删除引号,我在列表中搜索关于引号的search\u by\u keyword,并将这些引号附加到一个csv文件中,该文件有两列:文本列包括引号,爱好列包括csv中的标签 但是,结果是文本列中所有50个索引中都有相同的引号。我正试图用google colab中的selenium来实现这一点 代码如下: label_in_csv = 'الموسيقي' search_by_keyword=["مزيكا"] df_p=pd.DataFrame()
search\u by\u keyword
,并将这些引号附加到一个csv文件中,该文件有两列:文本列包括引号,爱好列包括csv中的标签
但是,结果是文本列中所有50个索引中都有相同的引号。我正试图用google colab中的selenium来实现这一点
代码如下:
label_in_csv = 'الموسيقي'
search_by_keyword=["مزيكا"]
df_p=pd.DataFrame()
for syn in search_by_keyword:
ua = UserAgent()
userAgent = ua.random
#print(userAgent)
options = Options()
options.add_argument(f'user-agent={userAgent}')
proxy= ['185.47.223.53','110.74.222.106','59.153.18.170','151.232.72.13']
driver = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
driver.header_overrides = {
'user-agent': userAgent,
}
driver.get("https://www.goodreads.com/quotes/tag/")
driver.implicitly_wait(10)
search_area = driver.find_element_by_id('id')
search_area.send_keys(syn,Keys.ENTER)
for j in range (50): maximum per label
for i in driver.find_elements_by_class_name('quoteText'):
text= i.text
text= text.splitlines()
#if wordnet.synsets(text[0].split()[-1].replace(".”", "")):
df_p_tmp = pd.DataFrame({'text':text[0],'hobby':[label_in_csv]})
print(text[0])
df_p = pd.concat([df_p,df_p_tmp])
try:
driver.find_element_by_class_name('next_page').click()
except NoSuchElementException:
search_area = driver.find_element_by_id('id')
df_p.to_csv('{}_hobby.csv'.format(syn))
break
print(len(df_p))
有什么想法吗?作为旁白,反复连接/附加数据帧很少是个好主意。最好创建一个临时/中间数据结构,完成后立即创建整个DF。谢谢您的回复。我试着在列表中这样做,但同样的引用被不断地添加到列表中,最后有一个长度为50的列表,其中只有引用重复了50次:(你能提供一个吗?顺便说一句,重复连接/附加数据帧很少是个好主意。最好创建一个临时/中间数据结构,并在完成后立即创建整个DF。谢谢你的回复。我试着用列表这样做,但同样的引用也一直附加到列表中,最终得到了一个完整的DF列表。)长度50,仅引用重复50次:(你能提供一个完整的报价吗?