Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为url创建一个循环,以便我可以在页面上搜索url_Python_Loops_Url_For Loop - Fatal编程技术网

Python 为url创建一个循环,以便我可以在页面上搜索url

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

非常感谢你的帮助。我正在尝试编写一个脚本,将刮取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.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页,但请注意
    xrange(1589)
    最多只能算588页。如果确实有589页,那么您需要使用
    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])