double07 发表于 2021-3-15 21:38

python 爬豆瓣top250遇到问题?

import requests
import xlwt
from lxml import etree

# 网页请求
def gethtml(url):
    headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}
    response=requests.get(url,headers=headers)
    return response.content.decode()

#网页解析
def getxpath(a):
    html=etree.HTML(a)
    d=html.xpath("//*[@id='content']/div/div/ol//li")
    # print(d)
    data_list = []
    for i in d:
      temp={}
      temp['rank']=i.xpath(".//em/text()")
      temp['title']=i.xpath("./div/div/div/a/span/text()")
      temp['score']=i.xpath(".//span[@class='rating_num']/text()")
      data_list.append(temp)
    return data_list
      
# 翻页
def next_page():
    url_np="https://movie.douban.com/top250?start={}&filter="
    url_list=
    return url_list


   
#执行函数
def run_db():
    page=next_page() #显示所有页,并形成列表'
    for url in page:
      ghtml=gethtml(url) #获取当前页源码
      gpath=getxpath(ghtml) #获取当前页数据
    return gpath
print(run_db())



想输出完整的250条内容,但不知为什么只输出最后一页25条内容?不知道代码哪里有问题?另外用pandas把爬取结果输出excel格式的内容代码怎样写?刚开始学爬虫,希望有大神能支持一下

kof21411 发表于 2021-3-15 21:45

    for url in page:
      ghtml=gethtml(url) #获取当前页源码
      gpath=getxpath(ghtml) #获取当前页数据
    return gpath
这里写错了,最终止返回最后一次的数据

double07 发表于 2021-3-15 22:07

kof21411 发表于 2021-3-15 21:45
    for url in page:
      ghtml=gethtml(url) #获取当前页源码
      g ...

意思是每爬完一页数据就要输出并保存数据?我理解是全部爬完再统一输出,理解出错?

zeknight 发表于 2021-3-15 22:11

最好的办法学会用DEBUG,否则你会一直遇到各种问题。

在调试中多看看就明白了。

ccwuax 发表于 2021-3-15 22:16

double07 发表于 2021-3-15 22:07
意思是每爬完一页数据就要输出并保存数据?我理解是全部爬完再统一输出,理解出错?

你试试把return改成print是不是就全部输出了,可以用一个list或写入文件保存结果

super.me 发表于 2021-3-15 22:27

网上有源代码,你对比下,这个应该没有什么区别啊,爬虫的东西都差不多。py charm不会debug ?

double07 发表于 2021-3-15 22:30

super.me 发表于 2021-3-15 22:27
网上有源代码,你对比下,这个应该没有什么区别啊,爬虫的东西都差不多。py charm不会debug ?
一直用spyder,不知道有debug{:1_893:},试试pycharm

13435211357 发表于 2021-3-15 22:39

楼主能分享一手python中文版吗

double07 发表于 2021-3-15 22:42

13435211357 发表于 2021-3-15 22:39
楼主能分享一手python中文版吗

我用annaconda,链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

神秘阿凯 发表于 2021-3-15 23:03

本帖最后由 神秘阿凯 于 2021-3-15 23:05 编辑

这样应该就行了

页: [1] 2
查看完整版本: python 爬豆瓣top250遇到问题?