我想知道是否可以使用python通过提供一些特定输入来从网站获取数据。 我知道我应该写一些代码,但在这里我从头开始有点困惑,希望你能理解..
说明:
这是我们大学的网站:
我想点击第一个链接,通过网站中给出的程序,
下载/查看B.Tech V学期2016年11月的结果 - 定期考试
然后下一页有一个输入注册号的选项,因为我知道注册号,我可以将它分配给一个变量。 在这里,我希望得到多个学生的成绩,这是该计划的主要目标。
例如:应从网站逐一检索从12153600到12153660的结果。
最后一件事是,如果我能得到结果,我可以将其转换为PDF吗?如果可能,我可以将所有这些结果转换为单个PDF文件作为不同的页面吗?
答案 0 :(得分:1)
您应该查看Selenium python库。
您将能够通过该库实现您想要的功能。具体来说,您将使用Selenium的get函数来获取您的网站,使用selenium的click函数来单击第一个链接,依此类推。
许多研究人员使用它来模拟Facebook等网站上的点击事件并收集结果数据。
答案 1 :(得分:1)
您应该结帐请求模块以从Html获取数据。
PFB链接用于教学目的:
http://docs.python-requests.org/en/master/user/quickstart/
https://media.readthedocs.org/pdf/requests/master/requests.pdf
答案 2 :(得分:1)
您可以使用Python的requests
库发送请求,使用BeautifulSoup
来解析您收到的html。
首先,您需要使用浏览器的开发工具检查页面。如果这样做,您会发现每个链接行都是form
元素 -
<form id="myForm0121x1" action="..." method="post">
<input name="month" value="..." type="hidden">
<input name="year" value="..." type="hidden">
<input name="sem" value="..." type="hidden">
<input name="reg_type" value="..." type="hidden">
<input name="dn" value="..." type="hidden">
<input name="status1" value="..." type="hidden">
</form>
每个链接都是对POST
属性的网址值的action
请求以及input
元素。要使用requests
-
r = requests.post('url',data={'month':'...','year':'...','sem':'...','reg_type':'...','dn':'...','status1':'...'})
如果您再检查r.content
,则会收到second page的来源。对此页面重复上述过程,这次相应地更改数据参数的键/值(使用检查器)并添加额外的'regno':'xyz'
(其中xyz =注册号),您将收到最终的html内容为学生的结果页面。使用BeautifulSoup
解析此问题,然后选择您需要的任何内容。
答案 3 :(得分:1)
以下是我对网站的观察:
Bundle
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_material_questions, container, false);
ButterKnife.bind(this, view);
getFragmentComponent().inject(this);
presenter.setView(this);
Bundle bundle = getArguments();
String youdData = bundle.getString("your_key");
...
}
所以你需要使用上面提到的参数将帖子请求提升到url。你可以在简单的python和请求中做到这一点。
http://exam.cusat.ac.in/erp5/cusat/CUSAT-RESULT/Result_Declaration/display_sup_result
这会创建60个单独的pdf文件。
要将回复保存为pdf文件,您可以使用regno,deg_name,semester,year,result_type
参考this for installation,this for tutorial。我希望您亲身体验pdf保存部分。所以我正在跳过保存作为pdf部分。如果你发现很难有没有包可以将数据保存为python中的pdf,你可以google。我更喜欢这个,因为它接受一个列表作为输入/文件,因此您可以将所有响应添加到列表中并使用它来创建单个pdf文件。