Python Web搜寻器,深度问题

佐尔兹

我正在用makin编写有关Web爬虫的教程我设法使我的代码启动并运行,但是我遇到的问题以及在上面的视频中都没有发生,是当我将print scraper(url,7)位于代码末尾的中的数字增加到8或更大时,' m在shell中收到以下错误:

Traceback (most recent call last):
File "<pyshell#30>", line 1, in <module>
  execfile("threads/mechanizex.py")
File "threads/mechanizex.py", line 85, in <module>
  print scraper(url,7)
File "threads/mechanizex.py", line 21, in scraper
  for u in step_url:
TypeError: 'NoneType' object is not iterable

而且我不知道我的问题是什么,因为我和视频中的作者具有完全相同的代码,他将他的数量增加到13个并获得了结果链接,而我却不能将其增加到7个以上。

import urllib
import re
import time
from threading import Thread
import MySQLdb
import mechanize
import readability
from bs4 import BeautifulSoup
from readability.readability import Document
import urlparse

url = "http://adbnews.com/area51"

def scraper(root,steps):
    urls = [root]
    visited = [root]
    counter = 0
    while counter < steps:
        step_url = scrapeStep(urls)
        urls = []
        for u in step_url:
            if u not in visited:
                urls.append(u)
                visited.append(u)
        counter +=1

    return visited

def scrapeStep(root):
    result_urls = []
    br = mechanize.Browser()
    br.set_handle_robots(False)
    br.addheaders = [('User-agent', 'Firefox')]

    for url in root:
        try:
            br.open(url)
            for link in br.links():
                newurl = urlparse.urljoin(link.base_url, link.url)
                result_urls.append(newurl)
        except:
            print "error"
        return result_urls

d = {}
threadlist = []

def getReadableArticle(url):
    br = mechanize.Browser()
    br.set_handle_robots(False)
    br.addheaders = [('User-agent', 'Firefox')]

    html = br.open(url).read()

    readable_article = Document(html).summary()
    readable_title = Document(html).short_title()

    soup = BeautifulSoup(readable_article)

    final_article = soup.text

    links = soup.findAll('img', src=True)

    return readable_title
    return final_article

def dungalo(urls):
    article_text = getReadableArticle(urls)[0]
    d[urls] = article_text

def getMultiHtml(urlsList):
    for urlsl in urlsList:
        try:
            t = Thread(target=dungalo, args=(urls1,))
            threadlist.append(t)
            t.start()
        except:
            nnn = True

    for g in threadlist:
        g.join()

    return d

print scraper(url,7)

帮助任何人吗?

伦纳特·雷杰布罗

您的缩进是错误的。必须合理地是这样的:

def scrapeStep(root):
    result_urls = []
    br = mechanize.Browser()
    br.set_handle_robots(False)
    br.addheaders = [('User-agent', 'Firefox')]

    for url in root:
        try:
            br.open(url)
            for link in br.links():
                newurl = urlparse.urljoin(link.base_url, link.url)
                result_urls.append(newurl)
        except:
            print "error"

    return result_urls

否则,它仅查看给定的第一个URL,如果没有给定的URL,则返回None。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

基于并发请求的RCurl搜寻器问题

来自分类Dev

Python BeautifulSoup Web图像搜寻器IOError:[Errno 2]没有这样的文件或目录

来自分类Dev

简单的Python搜寻器/ Spider运行时错误

来自分类Dev

Web搜寻器网址错误

来自分类Dev

如何将我的Python搜寻器输出保存到JSON文件?

来自分类Dev

Python搜寻器未找到特定的Xpath

来自分类Dev

一个自包含的python文件中的网络搜寻器

来自分类Dev

Web搜寻器在列表之间提取

来自分类Dev

识别搜寻器

来自分类Dev

Web搜寻器-以下链接

来自分类Dev

如何使用网络搜寻器从URL获取正确的源代码与Python?

来自分类Dev

Python搜寻器验证图片

来自分类Dev

Python中的多线程搜寻器

来自分类Dev

请求无限搜寻器的回调问题

来自分类Dev

迭代所有页面,并且搜寻器表的元素另存为Python中的数据框

来自分类Dev

Web搜寻器尝试

来自分类Dev

Python搜寻器| 从应用程序/ ld + json访问的“ URL”参数

来自分类Dev

搜寻器的并发问题

来自分类Dev

如何在python搜寻器中保存存储(通用字符串)

来自分类Dev

Web搜寻器中的Python重复项

来自分类Dev

Python-使用BeautifulSoup4的Reddit Web搜寻器不返回任何内容

来自分类Dev

Python搜寻器:下载HTML页面

来自分类Dev

识别搜寻器

来自分类Dev

python中的多线程搜寻器

来自分类Dev

然后通过电子邮件发送结果的Python搜寻器

来自分类Dev

Python搜寻器通过使用Selenium和PhantomJS获取DOM信息

来自分类Dev

Python Web搜寻器(NameError:未定义名称“ spider”)

来自分类Dev

尝试创建一个简单的python Web搜寻器

来自分类Dev

Web搜寻器问题:IndexError:字符串索引超出范围

Related 相关文章

热门标签

归档