我收到错误'回复'对象没有属性' fromstring'

时间:2016-07-21 01:12:07

标签: python django xpath web-scraping

我正在尝试在我的django应用程序中使用xpath并且我一直收到错误

'Response' object has no attribute 'fromstring'

我不明白为什么。我已经研究过了,我看到的唯一一件事是人们有问题而不是字符串。继承我的代码

def panties():
    from lxml import html
    pan_url = 'http://www.panvideos.com'
    html = requests.get(pan_url, headers=headers)
    soup = BeautifulSoup(html.text, 'html5lib')
    video_row = soup.find_all('div', {'class': 'video'})

    def youtube_link(url):
        youtube_page = requests.get(url, headers=headers)

        tree = html.fromstring(youtube_page.content)

        the_link = tree.xpath('//*[@id="wrapper"]/div[1]/div[2]/div[3]/div[1]/div[1]/h1')

        return the_link

    entries = [{'text': div.h4.text,
                'href': div.a.get('href'),
                'tube': youtube_link(div.a.get('href')),
                } for div in video_row][:1]

    return entries

任何帮助都会很棒。

编辑: 我跟随着搭便车的python指南,但是当我寻找答案的时候,我一直在寻找答案。继续看到人们使用etree而不是他使用它的方式

1 个答案:

答案 0 :(得分:3)

不要嵌套这样的函数。取消嵌套您的功能,它将正常工作。

您定义html = requests.get(*)

返回的是响应对象。

在您的嵌套函数中,由于名称空间,您使用此html而不是导入from lxml import html的内容。