Python 为url创建一个循环,以便我可以在页面上搜索url
非常感谢你的帮助。我正在尝试编写一个脚本,将刮取589个URL并收集这些589页上的所有URL。url中唯一改变的是“page=”后面的数字 这段代码没有给我一个错误消息,但它也没有做任何事情Python 为url创建一个循环,以便我可以在页面上搜索url,python,loops,url,for-loop,Python,Loops,Url,For Loop,非常感谢你的帮助。我正在尝试编写一个脚本,将刮取589个URL并收集这些589页上的所有URL。url中唯一改变的是“page=”后面的数字 这段代码没有给我一个错误消息,但它也没有做任何事情 for i in xrange(589,1): page = urllib2.urlopen("http://www.teapartynation.com/profiles/blog/list?page={}".format(i)) soup = BeautifulSoup(page.re
for i in xrange(589,1):
page = urllib2.urlopen("http://www.teapartynation.com/profiles/blog/list?page={}".format(i))
soup = BeautifulSoup(page.read())
with io.open('TPNurls.txt', 'w', encoding='utf8') as logfile:
for link in soup.find_all('a', 'xj_expandable'):
linklist=(link.get('href'))
logfile.write(linklist + u"\n")
有什么问题吗?如果没有错误消息,我不知道从哪里开始。提前谢谢您。您的
for i in xrange(589,1)
需要
for i in xrange(589,1,-1)
有几个问题,但这是可行的:
import urllib2
import io
from BeautifulSoup import BeautifulSoup
for i in xrange(1, 589):
page = urllib2.urlopen("http://www.teapartynation.com/profiles/blog/list?page={}".format(i))
soup = BeautifulSoup(page.read())
with io.open('TPNurls.txt', 'w', encoding='utf8') as logfile:
for link in soup.findAll('a', 'xj_expandable'):
linklist=(link.get('href'))
logfile.write(linklist + u"\n")
参数需要反转xrange
- 您说过有589页,但请注意
最多只能算588页。如果确实有589页,那么您需要使用xrange(1589)
。这是因为xrange(1590)
在到达第二个参数之前停止xrange
需要替换为soup.find_all
soup.findAll
- 声明
xrange(589, 1)
这是不可能的,因为它意味着“以1的增量从589变为1”。循环在开始之前结束
你的意思可能是:
xrange(589, 1, -1)
如果您更愿意从589倒退到1(不包括1)
或:
如果您想继续(不包括589)
在xrange
帮助中,语法为:
xrange(start, stop[, step])
xrange(589,1)是不可能的,因为它意味着“以1为增量从589变为1”。循环在开始之前结束。你是说,xrange(589,1,-1)?或者,xrange(1589)?谢谢!工作得很好。还必须将文件写入行中的“w”改为“a”。
xrange(start, stop[, step])