楼主: sword852369
1269 3

[问答] 完全找不到是哪儿的错误,疯了要 [推广有奖]

  • 2关注
  • 0粉丝

已卖:114份资源

硕士生

2%

还不是VIP/贵宾

-

威望
0
论坛币
2403 个
通用积分
2.7000
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
1328 点
帖子
50
精华
0
在线时间
172 小时
注册时间
2014-6-11
最后登录
2024-9-15

楼主
sword852369 发表于 2017-8-9 15:54:41 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
#!/usr/bin/env python3
# -*- coding: utf-8 -*-


import sys
import urllib
import json
from bs4 import BeautifulSoup

tags=[]
url='https://movie.douban.com/j/search_tags?type=movie'

response=urllib.request.urlopen(url,timeout=20)
result=json.loads(response.read())
tags=result['tags']

movies=[]
for tag in tags:
    limit=0
    while 1:
        url='https://movie.douban.com/j/search_subjects?type=movie&tag=' + tag + '&sort=recommend&page_limit=20&page_start=' + str(limit)
        print(url)
        response=urllib.request.urlopen(url,timeout=20)
        result=json.loads(response.read())

        result=result['subjects']

        if len(result)==0:
            break
        limit+=20
        for item in result:
            movies.append(item)

就这段代码,一直报ascii,不知道问题出在哪里,哪位大神给看看啊

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:beautiful Recommend response subjects Request

沙发
fengxingliulizi 发表于 2017-8-10 09:44:20
这问题在于‘热门’是汉语,你可以参考一下百度,比如百度‘热门’,浏览器的网址是
https://www.baidu.com/s?wd=%E7%83%AD%E9%97%A8,红色部分代表的就是‘热门’,被转换格式了。解决方式有两种,一种是把中文转换,另一种是用requests。
  1. import sys
  2. import urllib
  3. import json
  4. from bs4 import BeautifulSoup
  5. import requests

  6. tags=[]
  7. url='https://movie.douban.com/j/search_tags?type=movie'

  8. response=urllib.request.urlopen(url,timeout=20)
  9. result=json.loads(response.read())
  10. tags=result['tags']

  11. movies=[]
  12. for tag in tags:
  13.     limit=0
  14.     while 1:
  15.         ################方法一################
  16.         data = {'tag':tag}
  17.         data_code = urllib.parse.urlencode(data)
  18.         url = 'https://movie.douban.com/j/search_subjects?type=movie&' + data_code + '&sort=recommend&page_limit=20&page_start=' + str(limit)
  19.         print(url)
  20.         response=urllib.request.urlopen(url,timeout=20)
  21.         result=json.loads(response.read())
  22.         ###############方法二################
  23.         url='https://movie.douban.com/j/search_subjects?type=movie&tag=' + tag + '&sort=recommend&page_limit=20&page_start=' + str(limit)
  24.         print(url)
  25.         response = requests.get(url)
  26.         result=json.loads(response.content)
  27.         #############以下为原代码#############
  28.         result=result['subjects']
  29.         if len(result)==0:
  30.             break
  31.         limit+=20
  32.         for item in result:
  33.             movies.append(item)
复制代码


藤椅
sword852369 发表于 2017-8-10 10:55:55
fengxingliulizi 发表于 2017-8-10 09:44
这问题在于‘热门’是汉语,你可以参考一下百度,比如百度‘热门’,浏览器的网址是
https://www.baidu.co ...
多谢,就是这个中文问题,谢谢大神

板凳
hanhyojoo1992 发表于 2017-9-15 18:51:40
中文的问题

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 07:48