如何解析批量网页?

时间:2017-09-19 15:16:49

标签: javascript jquery python html parsing

我想从quizlet批量导出闪卡集/卡片列表。不要手动点击菜单,导出,勾选“包含图片”,复制,粘贴到新的空白文本文件中,保存....编写脚本会更容易。

我该怎么做?有人可以帮助我先行(我可以做其余的事情等)。

的Javascript? JQuery的?蟒?

需要解析URL的文本文件(指向每个套牌的直接链接)。 例如。 https://quizlet.com/215441327/f1-u1a-making-friends-flash-cards/ https://quizlet.com/218503855/f1-u1b-making-friends-flash-cards/ 和出口。

更新:有没有办法为“更多”按钮(省略号点)触发onclick,然后单击“导出”? 然后点击“INCLUDE PICTURES”复选框。然后抓住textarea?

2 个答案:

答案 0 :(得分:1)

我的偏好是python。起点见下面的代码。我正在使用BeautifulSoup包。请参阅下面的示例作为起点。

from bs4 import BeautifulSoup
import requests
url = "https://quizlet.com/215441327/f1-u1a-making-friends-flash-cards/"
headers = {'User-Agent':'Mozilla/5.0'}
page = requests.get(url)
soup = BeautifulSoup(page.text, "html5lib")

获取英文单词

for en in soup.select(".TermText.notranslate.lang-en"):
    print(en.text.strip())

输出:

enjoy
cheerful
everyone
sporty
sometimes
practise
practice
friend
favourite
help

其他语言

for ch in soup.select(".TermText.notranslate.lang-zh-TW"):
    print(ch.text.strip())

输出:

請享用
高興的
每個人
運動型的
有時
練習
練習
朋友
最喜歡的
幫助

答案 1 :(得分:0)

您也可以使用selenium python库与网页进行交互:

from selenium import webdriver
import os
chromedriver = "C:\Users\pappuj\Downloads\chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
url='http://www.zoover.nl/cyprus'
driver.get(url)
driver.find_element_by_class_name('next').click()