我是网络爬虫的新手,并试图编写一个程序可以从州选举委员会页面获取委员会报告。我已经能够成功使用BeautifulSoup和请求在页面之间导航。每个委员会页面最初仅显示5个报告,但是下拉菜单允许您一次显示所有报告(例如here)。
下拉菜单的HTML如下所示:
<span>Page Size</span><span> </span><select name="ctl00$ContentPlaceHolder1$gvFiledDocs$ctl08$pnlLeft_phPagerTemplate_gvFiledDocs_PageSize" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$gvFiledDocs$ctl08$pnlLeft_phPagerTemplate_gvFiledDocs_PageSize\',\'\')', 0)" id="ContentPlaceHolder1_gvFiledDocs_pnlLeft_phPagerTemplate_gvFiledDocs_PageSize" title="Select number of items to view">
<option selected="selected" value="5">5</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="50">50</option>
<option value="100">100</option>
<option value="32767">All</option>
更改下拉菜单不会更改URL。从Python中,如何更改下拉选择,以使页面源包含完整的报告列表?
这是我用来做汤的代码:
import bs4
import requests
def make_soup(url):
source = requests.get(url)
soup = bs4.BeautifulSoup(source, "lxml")
return soup