Wistain 2021-08-14 09:34 采纳率: 78%
浏览 524
已结题

爬虫如何在url中加入变量?


import requests
import re
import csv

a = input()

url = "f'https://movie.douban.com/top250?start={a}&filter="
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"
}
resp = requests.get(url, headers=headers)
page_content = resp.text

obj = re.compile(r'<li>.*?<span class="title">(?P<name>.*?)</span>.*?<br>(?P<year>.*?)&nbsp;/&nbsp;.*?'
                 r'<span class="rating_num" property="v:average">(?P<score>.*?)</span>.*?<span>(?P<number>.*?)</span>', re.S)
result = obj.finditer(page_content)
f = open("data.csv",mode="w",encoding="utf-8",newline="")
csvwriter = csv.writer(f)
for it in result:
    #print(it.group('name'))
    #print(it.group('year').strip()) #删除开头或是结尾的字符(默认为空格或换行符)
    #print(it.group('score'))
    #print(it.group('number'))
    dic = it.groupdict()
    dic['year'] = dic['year'].strip()
    csvwriter.writerow(dic.values())
f.close()
print("Over!")

其中url部分url = "f' 豆瓣电影 Top 250 https://movie.douban.com/top250?start=%7Ba%7D&filter=%22%E4%B8%BA%E4%BB%80%E4%B9%88%E7%BC%96%E8%AF%91%E9%94%99%E8%AF%AF%EF%BC%8C%E4%B8%8D%E8%83%BD%E6%9B%B4%E6%94%B9a%E7%9A%84%E5%80%BC%EF%BC%9F

  • 写回答

4条回答 默认 最新

  • 张大帅哥_ 2021-08-14 09:49
    关注

    f 在字符串外面

    a = input() 
    url = f'https://movie.douban.com/top250?start={a}&filter='
    

    或者

    a = 'abc'
    b = 'efg'
    c = 'jkl'
    url = '{f}d{s}hi{t}'.format(f=a, s=b, t=c)  # 带关键字
    url = '{}d{}hi{}'.format(a, b, c)     # 按顺序格式化
    url = '{0}d{2}hi{1}'.format(a, c, b)    # 传入参数的索引
    

    如果有用请点击采纳谢谢!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 8月22日
  • 已采纳回答 8月14日
  • 创建了问题 8月14日

悬赏问题

  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写