正在为抓取任务解析 URL
Parsing URL for scraping tasks
我想解析一些 URL 并访问该站点并进一步废弃一些数据。
基本上我现在的代码是:
i = 9
while(i < 118):
dict = {'start': i}
url1 = urllib.urlencode(dict)
url2 = urlparse.urljoin('http://intelligencesquaredus.org/debates/past-debates ', url1)
print url2
i = i + 9
产生结果
http://intelligencesquaredus.org/debates/past-debates/start=9
http://intelligencesquaredus.org/debates/past-debates/start=18
http://intelligencesquaredus.org/debates/past-debates/start=27
但我希望 link 成为
http://intelligencesquaredus.org/debates/past-debates?start=9
如有任何帮助,我们将不胜感激。
提前致谢
使用 :
url2=('?'.join(('http://intelligencesquaredus.org/debates/past-debates '+url1).split(' ')))
在上面的代码片段中,您将 url 作为字符串并向其添加所需的字符串 (url1
)。
然后你用 space 分割得到一个包含两个元素的列表,你稍后用 ?
.
加入
备选方案(由 deloz 建议):
base_url = "http://intelligencesquaredus.org/debates/past-debates"
for a in([''.join((base_url, '?', 'start=', str(i))) for i in range(9, 118, 9)]):
print(a)
我想解析一些 URL 并访问该站点并进一步废弃一些数据。
基本上我现在的代码是:
i = 9
while(i < 118):
dict = {'start': i}
url1 = urllib.urlencode(dict)
url2 = urlparse.urljoin('http://intelligencesquaredus.org/debates/past-debates ', url1)
print url2
i = i + 9
产生结果
http://intelligencesquaredus.org/debates/past-debates/start=9
http://intelligencesquaredus.org/debates/past-debates/start=18
http://intelligencesquaredus.org/debates/past-debates/start=27
但我希望 link 成为
http://intelligencesquaredus.org/debates/past-debates?start=9
如有任何帮助,我们将不胜感激。 提前致谢
使用 :
url2=('?'.join(('http://intelligencesquaredus.org/debates/past-debates '+url1).split(' ')))
在上面的代码片段中,您将 url 作为字符串并向其添加所需的字符串 (url1
)。
然后你用 space 分割得到一个包含两个元素的列表,你稍后用 ?
.
备选方案(由 deloz 建议):
base_url = "http://intelligencesquaredus.org/debates/past-debates"
for a in([''.join((base_url, '?', 'start=', str(i))) for i in range(9, 118, 9)]):
print(a)