【发布时间】:2017-08-13 20:04:44
【问题描述】:
我的问题是关于我试图从 CME 集团网站获取产品名称。但是,为什么我在循环中更改了 URL,但代码却无法访问下一页?对此有何想法和意见?提前致谢。
from urllib.request import Request
from urllib.request import urlopen
from bs4 import BeautifulSoup
for i in range(1,6):
url='http://www.cmegroup.com/trading/products/#pageNumber='+str(i)+'&sortAsc=false'
CMEacess=Request(url,headers={'User-Agent':'Mozilla/5.0'})
print(url)
print('page: '+str(i))
CMEpage=urlopen(CMEacess).read()
CMEsoup=BeautifulSoup(CMEpage,'html.parser')
namelist=CMEsoup.findAll('th',attrs={'class','cmeTableLeft'})
for name in namelist:
print(name.get_text())
print('\n')
【问题讨论】:
-
在
url中将#替换为? -
成功了!你能详细说明一下吗?
-
?表示后面是查询字符串,因此参数pageNumber和sortAsc由服务器端脚本处理。
标签: python-3.x web-scraping beautifulsoup