【问题标题】:how to extract the elements text into a pandas DataFrame using Selenium [closed]如何使用 Selenium 将元素文本提取到 pandas DataFrame [关闭]
【发布时间】:2018-12-27 11:54:04
【问题描述】:

我正在为https://www.nytimes.com/section/politics 和 页面看起来像这样:

到目前为止我的代码是这样的:

Dates = driver.find_elements_by_class_name("css-umh681")
len(Dates)
Date_M=[]
for Date in Dates:
    print(Date.text)
    Date_M.append(Date.text)

Date_M

HeadLines=driver.find_elements_by_class_name("css-1dq8tca")
len(HeadLines)
HeadLine_M=[]
for HeadLine in HeadLines:
    print(HeadLine.text)
    HeadLine_M.append(HeadLine.text)
HeadLine_M

如何将所选元素的文本提取到数据框中以获取此信息:

【问题讨论】:

    标签: python pandas selenium web-scraping


    【解决方案1】:

    试试这个

    driver = webdriver.Chrome('chromedriver.exe')
    
    driver.get('https://www.nytimes.com/section/politics')
    
    class_ele = driver.find_element_by_class_name('css-13mho3u')
    
    pos= 0
    df = pd.DataFrame(columns=['Date','Headline'])
    
    for ol in class_ele.find_elements_by_class_name('css-ye6x8s'):
        data = []
        h2 = ol.find_element_by_class_name('css-1dq8tca').text
        div_2 = ol.find_element_by_class_name('css-umh681').text
        data.append(div_2)
        data.append(h2)
        df.loc[pos] = data
        pos+=1
    

    打印(df)

               Date                                           Headline
    0  Dec 27, 2018  LinkedIn Co-Founder Apologizes for Deception i...
    1  Dec 27, 2018  Trump in Iraq: First Visit to U.S. Troops in C...
    2  Dec 27, 2018  Federal Workers, Some in ‘Panic Mode,’ Share S...
    3  Dec 26, 2018  Did a Queens Podiatrist Help Donald Trump Avoi...
    4  Dec 26, 2018                   Donald Trump’s Registration Card
    5  Dec 26, 2018           Donald Trump’s Selective Service Records
    6  Dec 26, 2018  Arms Sales to Saudis Leave American Fingerprin...
    7  Dec 26, 2018  Black Voters, a Force in Democratic Politics, ...
    8  Dec 25, 2018  How Did Rifles With an American Stamp End Up i...
    9  Dec 25, 2018  Kids, Please Don’t Read This Article on What T...
    

    【讨论】:

    • 尊敬的先生,它非常适合我,非常感谢您为我节省了大量时间,但是您能否再次在 df.loc[pos] = data pos+=1 中解释一下,谢谢百万
    • 所以它访问行并将数据(列表)附加到它。 pos 是关于位置的变量。你可以在这里阅读更多关于 .loc 的信息pandas.pydata.org/pandas-docs/stable/generated/…
    猜你喜欢
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2019-06-20
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    相关资源
    最近更新 更多