Web crawler 使用带身份验证的wget抓取coursera网页

Web crawler 使用带身份验证的wget抓取coursera网页,web-crawler,wget,Web Crawler,Wget,我试图在Coursera中抓取一些网页,这些网页对于课程结束后的复习很重要,例如教学大纲、家庭作业等 我正在使用wget,但是我发现需要登录。所以我试了两个帖子:。 它们都不起作用 我发现Coursera网页没有以*.html或*.htm结尾。 有没有办法在Coursera中使用wget通过登录和下载网页?此Python包可能更适用于您所要求的内容,但它不使用wget,而是使用并且需要Python。作者使用Python2.7和pip包编写了笔记。这个软件包的优点是,您可以在一次运行中下载与课程相

我试图在Coursera中抓取一些网页,这些网页对于课程结束后的复习很重要,例如教学大纲、家庭作业等

我正在使用wget,但是我发现需要登录。所以我试了两个帖子:。 它们都不起作用

我发现Coursera网页没有以*.html或*.htm结尾。 有没有办法在Coursera中使用wget通过登录和下载网页?

此Python包可能更适用于您所要求的内容,但它不使用wget,而是使用并且需要Python。作者使用Python2.7和pip包编写了笔记。这个软件包的优点是,您可以在一次运行中下载与课程相关的所有内容

请注意,您确实需要在第一次打开课程页面时接受Coursera课程的荣誉代码,然后才能按照主项目页面和README.md中的说明正确运行此脚本。与github.com上的至少一个项目不同,该项目在过去6个月内通过最新更新进行了积极维护

我强烈建议您在我自己的Windows测试中使用一个Python包进行检查(除非您在另一个平台上发现与wget的不同),似乎wget工具本身仍然存在Coursera安全证书问题,尽管在两个命令中都包含了
--无检查证书

此测试是使用版本字符串中基于mingw32构建的gnuwget 1.14进行的。最后,请注意,Coursera登录协议的v1和v3都遇到了相同的结果

wget(使用Coursera登录v1,也来自下面的评论):

wget --save-cookies=cookies.txt --no-check-certificate --keep-session-cookies
--post-data="email=email@example.com&password=mypassword&webrequest=true" 
https://accounts.coursera.org/api/v1/login?

Resolving accounts.coursera.org (accounts.coursera.org)... 54.225.163.33, 107.20
.232.186, 54.243.110.245
Connecting to accounts.coursera.org (accounts.coursera.org)|54.225.163.33|:443..
. connected.
WARNING: cannot verify accounts.coursera.org's certificate, issued by ...
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 400 Bad Request
ERROR 400: Bad Request.
wget更新(使用Coursera登录v3):

wget --save-cookies=cookies.txt --no-check-certificate --keep-session-cookies
--post-data="email=email@example.com&password=mypassword&webrequest=true" 
https://accounts.coursera.org/api/v1/login?

Resolving accounts.coursera.org (accounts.coursera.org)... 54.225.163.33, 107.20
.232.186, 54.243.110.245
Connecting to accounts.coursera.org (accounts.coursera.org)|54.225.163.33|:443..
. connected.
WARNING: cannot verify accounts.coursera.org's certificate, issued by ...
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 400 Bad Request
ERROR 400: Bad Request.
请注意,wget(在windows上测试)似乎不能与Coursera登录v1(下面的注释)或Coursera登录v3(下面的注释:

wget https://accounts.coursera.org/api/login/v3/login? --save-cookies cookies.txt
--keep-session-cookies --no-check-certificate --post-data
"email=email@example.com&password=mypassword&webrequest=true"


Resolving accounts.coursera.org (accounts.coursera.org)... 50.19.244.62, 107.20.
145.110, 54.221.210.127
Connecting to accounts.coursera.org (accounts.coursera.org)|50.19.244.62|:443...
 connected.
WARNING: cannot verify accounts.coursera.org's certificate, issued by ...
  Unable to locally verify the issuer's authority.
HTTP request sent, awaiting response... 400 Bad Request
ERROR 400: Bad Request.

是的,我目前正在使用cousera dl下载视频、幻灯片。但是这个工具无法下载网页。或者我找不到使用它下载网页的文档。你能帮忙吗?@user2262504我也会仔细研究一下。如果你检查这个版本(名称与其他一些类似)课堂讲稿和测验,以及其他内容,可以根据说明使用此工具下载。此外,我建议您确认您安装的文件夹结构与位于上面链接的软件包中的列表类似或相同。我已经尝试了,它只下载索引网页和课堂讲稿网页。以及这两个页面是“ooops…HTTP 404”。我在Windows上与wget进行了检查,获得了以下信息,您是否使用此代码和类似的响应进行了检查?代码:
wget--save cookies=cookies.txt--no check certificate--keep session cookies--post data=“email=email@example.com&password=mypassword&webrequest=true” https://accounts.coursera.org/api/v1/login?
Response:警告:无法验证帐户。coursera.org的证书,由…颁发,无法在本地验证颁发者的权限。HTTP请求已发送,等待响应…400错误请求2015-05-13 23:22:05错误400:错误请求。api更新为:。您可以使用chrome developer工具检查内容。这两个图像是一个演示:,