随机重组 2022-09-17 21:14 采纳率: 50%
浏览 14

python爬虫原码优化后运行不了

最近看了理想之城连续刷,挺狗血的,准备想看品味下文字版,去网上找了一个网站,试着去抓取数据,原码如下,一切都还顺利。


import requests
from fake_useragent import UserAgent
from lxml import etree

def get_html(x):
    ua = {"User-Agent":UserAgent().random}
    r = requests.get(url=x,headers=ua).text
    
    return r

def get_urls(x):
    html = etree.HTML(x)
    data = html.xpath('//ul/li//@href')[1:-1]
    return data

def get_content(x):
    html = etree.HTML(x)
    data = html.xpath('//p/text()')
    return data
    
def main():
    url = 'http://m.jiewuxian.com/10/10910/'
    s = url.split('/1')[0]
    urls = get_urls(get_html(url))
    #print(urls)
    for i in urls:
        sr = s+i
        text = get_content(get_html(sr))
        break
    
if __name__ == '__main__':
    main()

#但是我发现get_urls与get_content函数功能相同,
#于是做了如下优化。
#但代码就运行不了,
#请各位同仁看下问题出哪里了。
#不胜感激!!


import requests
from fake_useragent import UserAgent
from lxml import etree

def get_html(x):
    ua = {"User-Agent":UserAgent().random}
    r = requests.get(url=x,headers=ua).text
    
    return r

def get_urls(x,y):
    html = etree.HTML(x)
    data = html.xpath(y)
    return data
    
def main():
    url = 'http://m.jiewuxian.com/10/10910/'
    s = url.split('/1')[0]
    url_xpath = '//ul/li/@href'
    text_xpath = '//p/text()'
    urls = get_urls(get_html(url),url_xpath)[1:-1]
    #print(urls)
    for i in urls:
        sr = s+i
        text = get_urls(get_html(sr),text_xpath)
        break
if __name__ == '__main__':
    main()




  • 写回答

1条回答 默认 最新

  • honestman_ 2022-09-18 00:34
    关注

    报错是什么

    评论

报告相同问题?

问题事件

  • 修改了问题 9月17日
  • 修改了问题 9月17日
  • 修改了问题 9月17日
  • 修改了问题 9月17日
  • 展开全部

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题