python - 数据框中的Python for循环
问题描述
美好的一天,伙计们!小心 COVID19 并解决 1 个问题。
我真的很想通过下面用B列的值爬取地址并将其放在F列中。 →这就是我得到的问题
这是我的来源。(这是制作简单数据框的来源。)
Start_Page = 0
End_Page = 500
for i in range(Start_Page, End_Page):
page = i + 1
url = "http://www.example.com &start=" + str(page)
res = urllib.request.urlopen(url)
json_str = response.read().decode("utf-8")
json_object = json.loads(json_str)
Mark = pd.json_normalize(json_object['jobs']['job'])
df = pd.DataFrame(Mark)
df = df[['A', 'B', 'C', 'D', 'E']]
列的名称是 A 到 E。
我真的很想用B列的值通过下面的爬取来获取地址,并将其放在F列中。
(这是爬行的来源。)
B = B # B in dataframe 'df'
result = urlopen("http://www.example2.com" + B)
html = result.read()
soup = BeautifulSoup(html, 'html.parser')
address = str(soup.select_one("address.txt_address > span"))
address = re.sub('<.+?>', '', address, 0).strip()
B = B2 → append address to F2
...
...
...
B = B110000 → append address to F110000
如何使用 B 的值作为变量来创建将地址添加到 F 列的“for 循环”?(我找了一个星期的方法,但是太难找了。)
解决方案
我不确定我是否正确理解了这个问题,
但是如果您尝试使用以下值获取一些地址
'B' 列并将其保存到新的 'F' 列,
您可以只选择“B”列并将其放入for
循环中。
values_for_f = []
for i in df['b'].values:
result = urlopen("http://www.example2.com" + i)
....
address = re.sub('<.+?>', '', address, 0).strip()
values_for_f.append(address)
df['f'] = values_for_f
推荐阅读
- ruby-on-rails - 如何从第 3 方 API 中装饰哈希对象 - Rails
- npm - 通过环境变量设置 Cypress 运行浏览器
- sql - 如果匹配,则在表中添加具有另一个值的列
- javascript - 如何在 vuejs 客户端应用中实现谷歌驱动文件上传
- c# - C# AForge Logitech C920 Liveview 滞后
- flutter - Flutter - 使用 showDialog 时无法在父树中找到 bloc
- javascript - 如何将传入的 WebRTC 音频流混合到服务器上的单个流中?
- php - 如何更改输入类型?(交响乐)
- node.js - Modbus 时间存储和检索
- python - 图像分割 python opencv