爬虫如何在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

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)    # 传入参数的索引

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

字符串格式化:

f"I am {name}"
"I am {0}".format(name)

f外不需引号
如果有用请采纳

尝试一下,url也是一个字符串,使用三种格式化字符串就行,这里我介绍一种

question='baidu'
url=f'http://www.{question}.com'

这是一个搜索百度网站的例子,你可以举一反三尝试一下

img