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

爬虫如何在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 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么