用python的lxml、pandas、selenium编写一段代码。 以https://www.sciencedirect.com/journal/the-lancet为初始界面,等待10秒,用selenium点击该页面上的链接(class="anchor js-volume volume-issue-text anchor-default"),跳转后等待10秒,用selenium点击该页面上的链接(class="switch-check switch-small js-previews-switch"),等待10秒,获取该页面上所有文章的标题、摘要、作者。建立excel表格,将结果导入excel表格
时间: 2023-03-19 16:22:40 浏览: 91
from lxml import html
from selenium import webdriver
import pandas as pd
import time# 设定网页
url = "https://www.sciencedirect.com/journal/the-lancet"# 使用selenium打开浏览器
driver = webdriver.Chrome()
driver.get(url)# 等待10秒
time.sleep(10)# 用selenium点击链接(class="anchor js-volume volume-issue-text anchor-default")
elems = driver.find_elements_by_class_name('anchor.js-volume.volume-issue-text.anchor-default')
for elem in elems:
elem.click()# 等待10秒
time.sleep(10)# 用selenium点击链接(class="switch-check switch-small js-previews-switch")
elems = driver.find_elements_by_class_name('switch-check.switch-small.js-previews-switch')
for elem in elems:
elem.click()# 等待10秒
time.sleep(10)# 获取该页面上所有文章的标题、摘要、作者
page = html.fromstring(driver.page_source)
titles = page.xpath('//div[@class="title"]/a/span/text()')
abstracts = page.xpath('//div[@class="article-content"]/p/text()')
authors = page.xpath('//div[@class="author"]/a/text()')# 建立excel表格,将结果导入excel表格
df = pd.DataFrame({'标题': titles,
'摘要': abstracts,
'作者': authors})# 导出excel
df.to_excel('the_lancet_articles.xlsx', index=False)
阅读全文